前回記事の続きです。
ubuntuで、パスワードなしでsshログインしたい - ホスト認証編 - きまブログ
ubuntuで、パスワードなしでsshログインしたい - 鍵を作る。 - きまブログ
最終段階です。
sshサーバ側に、sshクライアントから、公開鍵を登録します。
環境
ubuntu14.04 LTS on VirtualBox 4.3
鍵の登録 - authorized_keys
パスワードなしでリモートホストにログインするための、
ざっくりした仕組みは、
リモートホストのログインしたいのアカウントの~/.ssh/authorized_keys ファイルに、
ローカルホストにある自分のアカウントの公開鍵~/.ssh/id_rsa.pub(の内容)が登録されていれば、
パスワードがなくても、ログインできる。
ということ。
つまり、相手が自分の公開鍵で暗号化した通信内容を、
自分しか持ってない秘密鍵で復号化できれば合格。ということだろう。。
今までは、scpでid_rsa.pubをリモートへコピーして、
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
みたいな事をしてました。
一歩間違えると一大事な作業です。
しかし、最近いいコマンドがあることに気が付きました。
いまさら。。
ログイン先のリモートホストに公開鍵を転送する。
コマンドは、ssh-copy-id です。
これをすると、ローカルホストの~/.ssh/id_rsa.pub を、
リモートホストの~/.ssh/authorized_keys に追加してくれます。
kima@ubuntu14kima2:~$ ssh-copy-id kima@192.168.179.3 /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys kima@192.168.179.3's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'kima@192.168.179.3'" and check to make sure that only the key(s) you wanted were added.
これで、リモートへsshでアクセスするだけで、
ユーザー名&パスワードが求められることなくリモートへログインできます。
と思ったら、ここに、本家本元の解説があった。。