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

テクニカルな話だけど、感動したのでメモ。サーバーに接続する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


