SSHを公開鍵認証にしたらパスワード入力しなくていいので楽すぎる

テクニカルな話だけど、感動したのでメモ。 サーバーに接続するSSHを、パスワード認証から 公開鍵認証 にし...

3分で読めます1 SECTIONS

テクニカルな話だけど、感動したのでメモ。サーバーに接続するSSHを、パスワード認証から 公開鍵認証 にしたら捗り具合がぐんっと上がりました。公開鍵って言われると、公開してる鍵って危ないんじゃねーのとか思ってたんだけど、全然違った。

セキュア。ちょーセキュア。

公開鍵暗号でSSHのセキュリティを高める

sshを便利にする公開鍵暗号 - @IT

上記で詳しく説明されてますが、おおまかに 公開鍵認証 とは…SSHで接続するクライアント側に秘密鍵を、サーバー側に公開鍵を保持させ、 他からの接続を一切許さない方法 です。原理的に本人しかアクセスできないのでとても安全。ここではクライアントにMac。

サーバーにUbuntu Server 10.04で、パスワード認証を無効にします。

クライアントの秘密鍵作成

Macのターミナルで

ssh-keygen -t rsa

と打ち込むと、パスフレーズを入力しろと言われますが、Enterですっ飛ばす。そうすると、 id_rsa(秘密鍵)とid_rsa.pub(公開鍵) が/home/.ssh/にファイルが作成されます。秘密鍵は厳重にクライアント側で保存しておくため、他から見られないようにパーミッションを設定。

chmod 700 .ssh

サーバーに公開鍵を送る

クライアントで作成したid_rsa.pub(公開鍵)をサーバーに送ってやります。scp id_rsa.pub サーバードメイン or IPアドレス:~/ その後、以下のコマンドでauthorized_keysに公開鍵を記述し、パーミッションを600にします。cat id_rsa.pub >> .ssh/authorized_keys

sudo chmod 600 authorized_keys

そしてSSHの設定でパスワード認証を無効にします。

sudo vi /etc/ssh/sshd_config

PasswordAuthentication no

パスワード認証無効に。

sudo /etc/init.d/ssh restart

SSHサーバーを再起動。これで準備完了。SSHでサーバーへ接続すると自動的にログインしてくれる。

ちょー楽。僕はMac3台とiPhone1台とiPad1台でそれぞれ設定してやりました。authorized_keysに5台分の公開鍵が記述されてます。

iPhoneとiPadについては、iSSHっていうアプリで設定したんだけど、 これも後ほど記事にします。

書きました。

『iSSH』でiPhoneとiPadのRSA公開鍵認証をさせる

Ubuntuでsshdの設定をしてリモートから接続できるようにする – そ、そんなことないんだから!

Images

SSHを公開鍵認証にしたらパスワード入力しなくていいので楽すぎる image 1
SSHを公開鍵認証にしたらパスワード入力しなくていいので楽すぎる image 2
SSHを公開鍵認証にしたらパスワード入力しなくていいので楽すぎる image 3