Introduction

Chromebookを久しぶりに起動して、ARM版のLinuxを動かしたくなった。
色々調べていると、Chrome OS側でLinuxの環境を提供する仕組み (ベータ) が用意されているようになった。

で、中のLinuxにsshでアクセスしたくなった。
説明によればポート番号2222でアクセスできるようだけど、

1
This service allows sftp connections only.`

というsftpしか使えないと言うメッセージが出る。

そもそも、systemctlでsshdが動いていない。
どういうことなの?

Resolution

手順としては3ステップ

ユーザにパスワードを設定

Linux内にて、sudo passwd xxxx でxxxxユーザにパスワードを設定。

ポート番号の変更

Linux内にて、/etc/ssh/sshd_config を開き、下記のように変更

1
2
3
4
5
# default value.

- #Port 22
+ Port 22222
#AddressFamily any

ポート番号は1024より大きい、かつ2222以外の値を指定

sshd の解放

Linux内にて、/etc/ssh/sshd_not_to_be_run というファイルを /etc/ssh/sshd_not_to_be_run.bak に変更し、systemctl restart sshd でデーモンを再起動。

ポート転送

Chrome OS上で、Linuxに向けてポート転送を実行。
ポート転送先は、sshdで設定したポート番号を指定。

ChromeOS

ChromeOS

ChromeOS

ChromeOS

ChromeOS

以上で、Chrome OS上のipと上述のポート番号を使用してsshで内部のLinuxに接続できるようになる。