VPSへのアクセスやこのWordPressの管理等はChromebookのLinuxから主に行っていますが、普段のそれ以外の作業はWindowsを使用しています。作業の合間にちょこっとLinuxで作業がし易いようにChromebookのLinuxにSSHでアクセスできるようにしました。
鍵の生成
公開鍵暗号で認証を行いますので、以下のコマンドで鍵を生成します。Windowsでも同様です。
- Client -
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user_name/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user_name/.ssh/id_rsa
Your public key has been saved in /home/user_name/.ssh/id_rsa.pub
これで秘密鍵のid_rsaと公開鍵のid_rsa.pubがホームディレクトリの.sshディレクトリに作成されています。
ChromebookのSSHサーバの設定
ChromebookでSSHサーバが稼働しているかを確認します。
- Chromebook -
$ sudo systemctl status ssh.service
active (running)と表示されれば稼働しています。
次に、sshd_configファイルを編集して以下の設定を加えます。
- Chromebook -
$ sudo vi /etc/ssh/sshd_config
Port 10022
PasswordAuthentication yes
SSHサーバを再起動します。
- Chromebook -
$ sudo systemctl restart ssh.service
Client側からChromebookにSSH接続できるか確認しておきます。
- Client -
$ ssh -i ~/.ssh/id_rsa -p 10022 ChromebookのLinuxユーザ名@ChromebookのIPアドレス
パスワード認証でログインできればOKです。
尚、ここでChromebookのIPアドレスはChromeOSのものですので、ターミナルでipコマンド等で確認できるIPアドレスではありません。確認は以下のように行います。
- 画面右下のWiFiマークをクリック
- WiFi SSID横の▼をクリック
ネットワークの右上のインフォメーションマークをクリックするとIPアドレスが表示される。
Chromebookでのポート転送の設定
Chromebookの10022番ポートをLinuxに転送する設定をします。
Chromebookの【設定】→【詳細設定】→【デベロッパー】→【Linux開発環境】→【ポート転送】を開き、【追加】を選択します。
そこにポート番号10022、TCPと設定します。
設定したポートの転送がオンになっていることを確認しておきます。
ポート転送はChromebookを再起動するとオフになってしまいますので、毎回起動後に①ターミナルを開いてLinuxコンテナを起動する、②ChromeOSの設定からポート転送をオンにする、の作業が必要となります。
公開鍵のサーバへの登録
Chromebookのホームディレクトリに.sshディレクトリを作成し、パーミッションを変更しておきます。
- Chromebook -
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
Client側で生成した公開鍵をChromebookに転送します。
- Client -
$ scp -P 10022 id_rsa.pub ChromebookのLinuxユーザ名@ChromebookのIPアドレス:~/.ssh/.
ChromebookのLinuxで公開鍵をauthorized_keysファイルに追記し、パーミッションが600でなかった場合は600に変更しておきます。
- Chromebook -
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
これで公開鍵認証の準備が整いましたので、SSHサーバのパスワード認証を無効にし、SSHサーバを再起動します。
- Chromebook -
$ sudo vi /etc/ssh/sshd_config
PasswordAuthentication no
- Chromebook -
$ sudo systemctl restart ssh.service
Client側から公開鍵認証でSSH接続できるか確かめます。
- Client -
$ ssh -p 10022 -i id_rsa.pub ChromebookのLinuxユーザ名@ChromebookのIPアドレス
ログイン出来たらOKです。毎回上記のコマンドを入力するのも面倒なので、configファイルに設定を記載しておきます。
- Client -
$ vi ~/.ssh/config
Host chrome
HostName ChromebookのIPアドレス
Port 10022
User Chromebookのユーザ名
IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 60
以下コマンドでアクセスできればOKです。
- Client -
$ ssh chrome
コメント