ssh接続の手続き
本頁では,計算機の利用の導入として,ssh接続について説明する。 ここで登場するコマンドの使い方については割愛するので,自身でフォローしてみてほしい。
計算機への接続は,機密性をあげるために,ssh鍵認証を使ったアクセスが一般的。
ssh鍵はssh-keygenコマンドで作成でき,id_rsa.pub
が公開鍵,id_rsa
が秘密鍵にそれぞれ対応する。
この公開鍵と秘密鍵は相補的な関係にあるが,一方の鍵からもう一方の鍵を推測することはできない。
そのため,どちらかの鍵を失ったら,ssh鍵のペアをもう一度作成する必要がある。
このssh鍵を用いて,計算機へのアクセスの秘匿性を担保するためには,公開鍵を計算機上(および中継機上)に設置する。
なお秘密鍵は,接続する端末に厳重に保管しておくこと。 パソコンを紛失するなどによって秘密鍵の漏洩が危惧される場合, 各計算機に登録済みの公開鍵を全て抹消すること (場合によってはサーバー管理者に連絡すること)。
1. ssh鍵のペア作成
ssh-keygenコマンドでssh鍵を作成する。
rsaタイプがよく使われるが,秘匿性を向上させた形式が続々登場しており,
スパコンによっては鍵形式が指定されている可能性がある。
鍵の保存先は(1)
から変える必要がなく,そのままエンターでほぼ支障ない。
(2)
, (3)
では,ssh鍵のペアを使用するときのパスフレーズを設定する。
それぞれでそのままエンターすると,パスフレーズなしのssh鍵を作成できるが,
計算機の運営上,パスフレーズなしのssh鍵は許可されていないケースが多いので要注意。
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ishii/.ssh/id_rsa): <----(1)
Created directory '/home/ishii/.ssh'.
Enter passphrase (empty for no passphrase): <----(2)
Enter same passphrase again: <----(3)
Your identification has been saved in /home/ishii/.ssh/id_rsa.
Your public key has been saved in /home/ishii/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:BfvwjxqUlndfHrfVNDjmwP91NFdey2dCd0jsDkDDHO8 ishii@sample-machine1
The key's randomart image is:
+---[RSA 2048]----+
| .++. oo.=|
| o=o .=o=|
| o .+.=.=B|
| B .* o=*|
| S + E= .B|
| o . + .ooB|
| . . . .o.|
| o |
| . |
+----[SHA256]-----+
id_rsa
とid_rsa.pub
のパーミッションは600(rw-------)
と644(rw-r--r--)
だが,
このパーミッションが変わってしまうと,ssh鍵が正しく参照できなくなるため注意する。
$ cd ~/.ssh
$ ls -la
合計 12
drwx------ 2 ishii users 38 2月 8 18:29 .
drwxr-xr-x 20 ishii users 4096 2月 8 18:29 ..
-rw------- 1 ishii users 1675 2月 8 18:29 id_rsa
-rw-r--r-- 1 ishii users 390 2月 8 18:29 id_rsa.pub
2. 公開鍵の登録
この作成された公開鍵id_rsa.pub
の内容を,アクセスしたい計算機へと登録する。
初回登録方法は様々で,webフォームを通してid_rsa.pub
の中身を計算機の自身の
アカウント上に登録する方法もあれば,サーバー管理者に公開鍵を登録してもらう方法もある。
国内のスパコンはほとんど前者だが,兵県大の計算機にアクセスしたい場合は後者となる。
ただし,サーバー管理者に登録してもらうのも初回のみのため,2回目以降は自身で
公開鍵をサーバーに登録すること。
$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7aY+w1l2CdmAfB9+TEhu9pxl/fnV3PO3ph9d5C1EhGwq6/yEUC8Zg+F1p5WG/7GPxb4p6YthNmIumQeaQc5tEVzBZ9SFE9nSj/mCeujK0bilkvmrxJgCK5zRsF4TrcqZQEY8hO/Qo04IpM29CxoBzNuAfKSeDoNiAQ1USAOzC8LssUMepqMFRO1E9/ZL0Kx59Qrcso6kPx6TYcf225CQyU3h48pFa2XLM6ip3L8E15mp79pV9nFV7EucsiTUP4utNierZRgZT7lF5K3SolRM8DhAJUwoWUxujMlYz6matsx3iB+yq+Vfz7j1MHIYK+55vZQAeCrY+7787qKxBAbUB ishii@sample-machine1
例えば,id_rsa.pub
を作成したマシンに,そのssh鍵を使ってアクセスできる
ようにするためには,id_rsa.pub
の中身をauthorized_keys
というファイル名で保存する。
このauthorized_keys
ファイルが,ssh接続を試みた時に参照する接続先の
公開鍵格納ファイルに対応する。
スパコンなどでwebフォームから公開鍵を登録した場合,ログイン先のアカウントでは,
すでにauthorized_keys
が作成されており,登録した公開鍵の中身が入力されている
はずである。
$ cat id_rsa.pub > authorized_keys
$ chmod 644 authorized_keys
$ ls -la
合計 16
drwx------ 2 ishii users 61 2月 8 20:41 .
drwxr-xr-x 20 ishii users 4096 2月 8 18:29 ..
-rw-r--r-- 1 ishii users 390 2月 8 20:41 authorized_keys
-rw------- 1 ishii users 1675 2月 8 18:29 id_rsa
-rw-r--r-- 1 ishii users 390 2月 8 18:29 id_rsa.pub
上記の場合,authorized_keys
の中身はid_rsa.pub
の中身となっているが,
下記のように2行目以降に別PCの公開鍵を記載することで,複数の公開鍵を登録できる。
長い文字列の途中で改行が入らないように注意すること。
したがって初回以降はターミナルから別PCの公開鍵を登録できるので,
2回目以降の公開鍵の登録は自身で行うこと。
$ vi authorized_keys
ssh-rsa AAAAB3Nz...(中略)...KxBAbUB ishii@sample-machine1
ssh-rsa AAAAB3Ca...(中略)...DwSIeJL ishii@sample-machine2 <---追加例①
ssh-rsa AAAAB3Qz...(中略)...ByWFuHN ishii@sample-machine3 <---追加例②