SSH/鍵を使って接続する

SSH/鍵を使って接続する

今回は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 とかいう名前とか各ファイルのパーミッションとかが設定上重要になるのでうまく動かない場合はこのへんを注意するといいだろう。

逆に言うならば新しいバージョンではこのへんの名前が変更になったり、設定ファイルに切り出したりとかするわけだ。

linux/ssh/connect_by_key.txt · 最終更新: 2019-06-15 13:30 by ore