普段はVPSを自分で構築することはないのですが、さくらのVPSを以前構築したことがあり、操作は管理画面に用意されているコンソールを使っていたのですが、コピーやペーストなど色々面倒なのでMacのターミナルで接続し作業できるようにしたので覚書です。
サーバー側の設定
サーバー側の設定を行います。コンソールでサーバーにアクセスしsshで接続するユーザーのホームディレクトリに.sshのディレクトリを作成します。アクセス権限を変更します。
1 2 | $ mkdir .ssh $ chmod 700 .ssh |
700は所有者には読み・書き・実行を許可。
sshの鍵を作成する
作った「.ssh」の中に移動して鍵を作成します。
1 2 3 4 5 6 7 | $ .ssh $ ssh-keygen -t rsa ・・・・ Enter passphrase (empty for no passphrase): ←パスフレーズを入力 Enter same passphrase again: ←もう一度同じパスフレーズを入力 ・・・・ |
ファイル名とアクセス権限を変更します。
1 2 | $ mv id_rsa.pub authorized_keys $ chmod 600 authorized_keys |
Macに鍵を設置
サーバーの「.ssh」に「id_rsa.pub」と一緒に「id_rsa」というファイルも作成されているのでこれを「vi」コマンドで開いて内容をコピーしテキストエディターで新しいファイルを作成しペーストしておきます。
1 | $ vi id_rsa |
Macのユーザーディレクトリ内にある「.ssh」ディレクトリ内にこれを保存します。ファイル名はなんでもいいです。
SSH接続の設定変更
またコンソールに戻りユーザーを「root」に切り替え、SSH接続の設定ファイルを編集します。
1 2 | $ su - $ vi /etc/ssh/sshd_config |
【編集内容】
○SSH接続のに使用するportの設定
#Port22 → Port○○○
○rootユーザでのログインの無効
#PermitRootLogin yes → PermitRootLogin no
○パスワード認証の無効
PasswordAuthentication yes → PasswordAuthentication no
設定が終わったらこれを保存して、設定内容の読み込みを行います。
1 | $ /etc/rc.d/init.d/sshd reload |
うまく接続できないとき
あとは、ターミナルでssh接続する際に設定した鍵とポートを指定し接続すれば接続できます。ssh接続がうまく行かないとき(Permission denied (publickey,gssapi-keyex,gssapi-with-mic). などエラーが出るとき)はターミナルの「ssh」コマンド入力の際に「-v」を追記すると接続の状況を確認できるので、その内容を調べると解決できると思います。