menu
書いてる野郎
orebike@gmail.com
今回はMac側(クライアント)からLinuxのサーバに接続することを考える。
この手順は AWS EC2 のように鍵を作ってくれるパターンでは必要ない
まずMac側で秘密鍵と公開鍵を生成する。
$ ssh-keygen -t rsa
これで
~/.ssh/id_rsa ~/.ssh/id_rsa.pub
の2種類の鍵が出来上がった。pubが無いほうが秘密でpubがあるほうが公開鍵(public の pub)だ。
次の設定は接続先のLinux側。接続予定のユーザーのホームディレクトリに
~/.ssh/authorized_keys
ファイルを作る。
.sshディレクトリが無いのならば作る。そして
$ chmod 700 .ssh
でパーミッションを変更しておこう
何らかの方法でMac側で生成した公開鍵をLinux側へもっていく。
そしてauthorized_keys2ファイルにさっきMacで生成した公開鍵の内容を追記する。
2個のクライアントから接続したいなら、2個分の鍵を追記すればいい。 なのでコマンドで記述するなら
$ cat id_rsa.pub >> authorized_keys
のような記述になる
この後にパーミッションを変更する
$ chmod 600 authorized_keys
これでMac側のsshクライアントからは
$ ssh 接続ユーザー@接続サーバー
のみでパスワード無しで接続可能になる。
鍵を明示的に指定するのならば
$ ssh -i kagi hoge@123.123.123.123
sshコマンドのバージョンにもよるみたいだが authorized_keys2 とか id_rsa とかいう名前とか各ファイルのパーミッションとかが設定上重要になるのでうまく動かない場合はこのへんを注意するといいだろう。
逆に言うならば新しいバージョンではこのへんの名前が変更になったり、設定ファイルに切り出したりとかするわけだ。