Ubuntu 12.04環境でのSSHの設定
公開鍵認証で接続する
クライアントで鍵ペアを作る
$ ssh-keygen -t rsa
~/.ssh配下にid_rsa.pub(公開鍵)と、id_rsa(秘密鍵)が作られます。
$ chmod 600 ~/.ssh/id_rsa
他のユーザーから見えないようにパーミッションを600
にしておきます。
公開鍵をサーバーに登録する
$ scp ~/.ssh/id_rsa.pub server_name:.
scpでファイルを送ります。server_name
は自分の接続先名に置き換えてください。
$ ssh server_name
$ mkdir .ssh
$ chmod 700 .ssh
$ cat id_rsa.pub >> .ssh/authorized_keys
$ vi /etc/ssh/sshd_config
PubkeyAuthentication yes
SSH認証を有効にする。
PasswordAuthentication no
パスワード認証を無効にする。
Port 11222
(ついでに)ポート番号を変える。
$ sudo /etc/init.d/ssh restart
設定変更をしたら再起動。
注意点としては、設定ミスがあった時に再ログインできない可能性があるので今のSSH接続は切らないこと。
$ ssh server_name
別のターミナルから接続して、ログインできれば成功。
警告が出たら
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
こんなのが出たら、
Offending RSA key in /Users/hentai-kun/.ssh/known_hosts:12
こういう記述があるので、known_hosts
ファイルの指定行数目(今回は12)を削除すればいい。