VPSにssh接続する際の設定を見直した

タイトル通りなのですが 現在、さくらVPSをレンタルして このブログとタイポグリセミアクイズを公開しています。
VPSにssh接続をする際毎回パスワードを入力するのがめんどくさいなあと思い 色々設定を見てみました。
公開鍵を使用してパスワードなしでサーバーへ接続する
鍵を生成する
クライアント(自分のpc)のターミナルに以下のコマンドを入力すると鍵を使用するためのパスフレーズを登録するよう求められます。入力しなくても大丈夫ですがその分セキュリティは下がりますのでご自身でご判断を・・・
ssh-keygen -t rsa
(rsaじゃない方がいいという意見もありますが詳しくはわからない・・)
パスフレーズを登録すると ~/Users/ユーザー名/.ssh にid_rsa とid_rsa.pubというファイルが作成されていると思います。
(多くの解説サイトでは~/home/.ssh と書かれていましたがましの環境ではUsersの中でした・・環境によって違うぽいです)
- 公開鍵をサーバーへ登録する
まずは公開鍵をサーバーへ送ります(もしかしたらしなくてもいいかも?)
以下のコマンドをクライアント側のターミナルに入力します。
scp /Users/ユーザー名/.ssh/id_rsa.pub リモートユーザー名@ホスト名:~/.ssh
そして公開鍵をサーバーに登録します
ssh-copy-id ~/.ssh/id_rsa.pub
をサーバー側のコマンドラインに入力する。または
ssh-copy-id /Users/ユーザー名/.ssh/id_rsa.pub リモートユーザー名@ホスト名
をクライアント側ターミナルに入力しても大丈夫なはず
実際にログインしてみる
ssh -i /Users/ユーザー名/.ssh/id_rsa リモートユーザー名@ホスト名
を入力して接続します。
初回は秘密鍵のパス(場所)指定が必要ですが次回以降は
ssh リモートユーザー名@ホスト名
で接続できると思います。
秘密鍵のパスフレーズ入力を省略する
毎回毎回秘密鍵のパスフレーズを入力していたらリモートユーザーのパスワードを乳力するのと同じくめんどくさいので秘密鍵のパスフレーズ入力を省略します。
ssh-add /Users/ユーザー名/.ssh/id_rsa
パスフレーズを入力すると次回以降パスフレーズの入力が省略されるはずです。
リモートユーザー名@ホスト名 も簡単にする
毎度 長いコマンドを入力するのがめんどくさいので
ターミナルで.ssh ファイルの中に移動した後
vim config
を入力し
Host 好きな名前
User リモートユーザー名
Hostname ホストのIPアドレス or ホスト名
IdentityFile /Users/ユーザー名/.ssh/id_rsa
を入力し、保存することですることで
ssh 好きな名前
で接続することができます。
リモートユーザーのパスワード認証を無効化する(しなかった)
本来ならばssh接続を有効にしたためパスワードでの認証は無効化しても良いのですが MacBookが潰れる可能性の方も高いなと思ったので一応有効にしてあります。(おそらくMacBookが潰れるとVPSの設定画面からなんとかするしかない)
参考サイト