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