僕の相方氏がかなりssh(Secure SHell)に躓いていたので、ちょこちょこっとメモする。
普通、sshの設定ファイル(config)は/etc/ssh/sshd_configにあって、 これを編集するにはsu権限いるし、いちいちrestartしてやんなきゃだし危なっかしい。 なので、~/.ssh/configを編集してあげます。無ければ作る。
特に、外部から研究室のPCに入るにはsshサーバーを経由しなければ入れないので、 多段接続の設定はしておいた方が、知っておいた方が何かと便利です。
例えば、私は次のように記述して、楽に繋げられるように設定しています。
一つ一つの行にもちろん意味があるので、これから説明していきます。
Hostで書いてあげた名前をそのままsshコマンドで打ちます。例えば、
と打つと、foo→ foo.jpと勝手に解釈してくれて、 さらにユーザー名もhogeだと思ってくれるので、結局
と打ったのと同じ結果が得られます。
と言われるので、お好きな名前で保存してください。 ただし、デフォルトで読み込まれるのが~/.ssh/id_rsaという名前の鍵なので、 初めて生成する場合は特に何も考えずにエンターを押して構いません。 続けて、
と言われるので、適当なパスフレーズを打ち込んでください。
でもう一回同じパスフレーズを打つと、晴れて鍵のペアが生成されます。 この鍵ペアのうち秘密鍵(id_rsa)の方は誰にも知られないように、~/.ssh/の中に置いておいてください。 知られないようちゃんと管理しておけば、いくら使いまわしたって問題ありません。なので普通は、一回鍵を生成するだけですみます。
ここからは接続先のサーバーをfoo.jp、ユーザー名をhogeとします。 まずはそこに入れないとどうしようもないので、sshします。
これを打ってみて、パスワードの入力を求められたら成功です。パスワードを打ち込みましょう。もし
とか言われたら、portが開いてません。/etc/ssh/sshd_configの中に #Port 22 とか #ListenAddress 0.0.0.0 とか書いてある行があるので、 su権限でコメントアウトを消してください。
id_rsaは秘密鍵ですが、もう一個生成された方(~/.ssh/id_rsa.pub)は公開鍵と呼ばれ、接続したいサーバーに登録しておくものです。 自分のPCのターミナルから
と打てば公開鍵の登録の完了です。 2個目以降の秘密鍵を登録したいときはscpでサーバーにid_rsa.pubをコピってきて
ってやると幸せになれるんじゃないかな?
ということで、接続する準備が整いました。こちら側のPCからコマンドラインを叩きます。
これでパスワードなしで入れるようになりました!