【CentOS6】鍵認証によるssh接続

ローカルのMacからリモートのCentOSへ鍵認証でssh接続するための手順をメモっておきます。
公開鍵および秘密鍵は予め作成が済んでいるものとします。

環境

Mac OS X Yosemite
CentOS 6.6

鍵の設定

まずはローカルMacからリモートに公開鍵の送付。

scp ~/.ssh/id_rsa.pub some_user@xxx.xxx.xxx.xxx:~/.

次にリモートのCentOSにログインし、公開鍵の設定を行う。

mkdir ~/.ssh  # .sshディレクトリがない場合
mv ~/id_rsa.pub ~/.ssh/.
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

次にsshd_configの修正。

sudo emacs /etc/ssh/sshd_config

各行のコメントアウトを外し、AuthorizedKeysFileでは公開鍵の場所の指定をする。

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      ~/.ssh/authorized_keys

またパスワード認証は不要なので、PasswordAuthentication noに設定する。

以上終了後sshdの再起動。

sudo service sshd restart

ローカルMacに戻り、sshログイン。

ssh -i ~/.ssh/id_rsa some_user@xxx.xxx.xxx.xxx

無事鍵認証でssh接続成功!

ついでにローカルMacのconfigファイルにssh接続の設定を追記。

emacs ~/.ssh/config
Host some_host
  HostName xxx.xxx.xxx.xxx
  User some_user
  port 22
  IdentityFile ~/.ssh/id_rsa

上記設定追記後、下記コマンドでssh可能。

ssh some_host

面倒な入力がなくなって便利!

参考

RSA公開鍵認証によるssh接続設定について(Macbook -> VPS) - Qiita