A certain engineer "COMPLEX"

開発メモ その179 Lenovo Chromebook S330にUbuntu18.04をインストールしSSHで接続

Introduction


Lenovo Chromebook S330は、フルキーボード、広いタッチパッド、豊富なインターフェースを備えたパワフルな14型のChromebookです。

こんなのを購入して遊んでいます。

ベースはLinuxなので遊びたいのですが、Chromebookへの接続はいろいろ制限されています。
例えば、Teamviewerはクライアント専用。これは面白くないです。

なので、仮想OSとしてUbuntu 18.04をインストールし遊んでみます。

Install Ubuntu


まずは仮想OSのインストール。

デベロッパーモードで起動

ESCキーとF3 (再読込ボタン) を押しながら電源を入れ、Ctrl+D を押してデベロッパーモードで起動。
ローカルのデータが消えますので購入直後に実施しましょう。

croutonをインストール

croutonは、ChromeBookにLinux環境を構築するためのツール。

Chromium OS Universal Chroot Environment. Contribute to dnschneid/crouton development by creating an account on GitHub.

Chromeブラウザを起動しアドレスバーに https://goo.gl/fd3zc と入力し保存します。
省略アドレスで、https://raw.githubusercontent.com/dnschneid/crouton/master/installer/croutonにリダイレクトされます。

Ubuntu 18.04をインストール

Ctrl+Alt+Tでターミナルタブを開きます。
シェルに切り替えるために


$ shell

と入力します。

続いて、ダウンロードしたcroutonを使い、インストールを行います。


$ sudo sh ~/Downloads/crouton -r bionic -t gnome-desktop

実行するとインストールが始まります。
しばらくすると、インストールしたUbuntuに追加するユーザ名とパスワードを聞かれます。

Ubuntu 18.04を起動

ターミナルタブから


$ sudo startgnome

これでUbuntuに切り替わります。
Chrome OSに戻りたい場合は、Ctrl+Alt+Shift+F1で戻ります。
停止するなら、ターミナル上でCtrl+Cで停止できます。

Install sshd


Ubuntuにsshdをインストールします。
まずターミナルを起動します。
Activityからterminalと入力します

インストール

ターミナルから


$ sudo apt update
$ sudo apt upgrade
$ sudo apt install -y ssh iptables net-tools

として必要なパッケージをインストールしておきます。
net-toolsはなくてもよいですが、通信状況とかを把握したいなら必須です。

ファイアウォールの変更

ターミナルから /etc/rc.local を作成し、変更をします。


$ sudo vi /etc/rc.local

下記の内容を追加します。


/sbin/iptables -P INPUT ACCEPT

この内容はすべてのインバウンド通信を許可するなので不安なら


/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT

とします。

sshd自動起動設定

続いて、/etc/rc.local に下記の内容を追加します。


mkdir -p -m0755 /var/run/sshd
/usr/sbin/sshd

そして、保存を行い、


$ sudo chmod 755 /etc/rc.local
$ ls -la /etc/rc.local
-rwxr-xr-x. 1 root root 115 Aug 13 04:10 /etc/rc.local

実行権限を付与します。

鍵の生成

SSHの接続に必要なホストの秘密鍵、公開鍵を生成します。


$ sudo ssh-keygen -A
$ ls -la /etc/ssh
total 596
drwxr-xr-x. 2 root root 4096 Aug 13 04:18 .
drwxr-xr-x. 120 root root 4096 Aug 13 04:16 ..
-rw-r--r--. 1 root root 553122 Mar 4 21:17 moduli
-rw-r--r--. 1 root root 1580 Mar 4 21:17 ssh_config
-rw-r--r--. 1 root root 3264 Mar 4 21:17 sshd_config
-rw-------. 1 root root 668 Aug 13 04:18 ssh_host_dsa_key
-rw-r--r--. 1 root root 604 Aug 13 04:18 ssh_host_dsa_key.pub
-rw-------. 1 root root 227 Aug 13 04:16 ssh_host_ecdsa_key
-rw-r--r--. 1 root root 176 Aug 13 04:16 ssh_host_ecdsa_key.pub
-rw-------. 1 root root 411 Aug 13 04:16 ssh_host_ed25519_key
-rw-r--r--. 1 root root 96 Aug 13 04:16 ssh_host_ed25519_key.pub
-rw-------. 1 root root 1679 Aug 13 04:16 ssh_host_rsa_key
-rw-r--r--. 1 root root 396 Aug 13 04:16 ssh_host_rsa_key.pub
-rw-r--r--. 1 root root 338 Aug 13 04:16 ssh_import_id

実行権限を付与します。

sshd起動

一度手動で起動してみます。


$ sudo /sbin/iptables -P INPUT ACCEPT
$ sudo mkdir -p -m0755 /var/run/sshd
$ sudo /usr/sbin/sshd
$ ss -lnt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 5 127.0.0.1:30001 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*

起動が確認できれば、ChromeOSに戻ってUbuntuを停止、再度起動した後でも自動でsshdが起動します。
そして、外部からsshで接続してみます。


$ ssh hogehoge@192.168.11.XX
hogehoge@192.168.11.XX's password:
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 3.18.0-19346-g9ff80f5e4c97 aarch64)


* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage


0 packages can be updated.
0 updates are security updates.


Your Hardware Enablement Stack (HWE) is supported until April 2023.
Last login: Tue Aug 13 04:48:22 2019 from 192.168.11.YY
(bionic)hogehoge@localhost:~$

きちんと、aarch64のUbuntuにつながっていることがわかります。

コメントを残す

メールアドレスが公開されることはありません。

%d人のブロガーが「いいね」をつけました。