SSHの設定まとめ(VPSにSSH接続する)

ssh-keygen で秘密鍵(id_rsa)と公開鍵(id_rsa.pub)を作成する。
鍵の名前は任意につけられるので-f オプションで覚えやすい名前にしておく。

ssh-keygen -t rsa -b 4096 -f sakura_rsa -C 'sakura'
  • Cオプションはコメントをつけられる。

この場合、sakura_rsa(秘密鍵)とsakura_rsa.pub(公開鍵)が作成される。
sakura_rsa.pubの方をVPSサーバーにアップロードし、あらかじめホームディレクトリ~/に作成しておいた~/.sshに格納する。

scp -o PreferredAuthentications="password" -P 22 sakura_rsa.pub user@xxx.xxx.xxx.xxx:~/.ssh/
  • Pオプションはポート番号指定。
  • oオプションでパスワードでログインするという意味。
#VPSサーバー側
chmod 700 .ssh
chmod 600 .ssh/sakura_rsa.pub

という権限にしておく。これをしないと接続できない。

#サーバー側の/etc/ssh/sshd_config
PasswordAuthentication no
PermitEmptyPasswords yes

としておくとパスワードなしでログインできるようになる。

うまくsshの設定ができないとき

ssh host -v
  • v 処理の詳細を表示してくれるのでdebugしやすい。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

とか出るときは、サーバー側のログを見てみる。

sudo tail /var/log/secure