SSHの設定@さくらVPS

sshの設定は公開鍵のパーミッションの設定部分ではまったり
なんやかんやではまるので,自分用にメモしておく.

1. 鍵ペアを作成

VPS側で鍵ペアを作成する.
秘密鍵の保存先を聞いてくる.
パスフレーズを2回入力.
id_rsa,id_rsa.pubの鍵ペアのファイルが ~/.ssh/ に作成される.

$ ssh-keygen -t rsa

2. 公開鍵を登録する

VPS側で公開鍵を登録する.(登録するファイルは ~/.ssh/authorized_keys)

$ cat id_rsa.pub >> ~/.ssh/authorized_keys

3. パーミッションの設定

VPS側で「~/.ssh」ディレクトリと「~/.ssh/authorized_keys」はオーナーだけに読み書き可能なようにパーミッションを設定する。

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

4. クライアント側の設定

id_rsa ファイルをクライアント側にコピーする。
* クライアント側のユーザの秘密鍵,ディレクトリのパーミッションにも注意する.
パーミッションがopenすぎるとだめ.id_rsaを600にすればOK.
ディレクトリも,パーミッションが777の場合,公開鍵認証でsshログインしようとすると,

Permission denied (publickey,gssapi-with-mic).

というエラーになる。

5. パスワード認証を許可しないようする

/etc/ssh/sshd_config を編集

PasswordAuthentication yes

PasswordAuthentication no

にし,rootのログインも禁止しておく

PermitRootLogin no

root権限でsshd を再起動する

$ /etc/init.d/sshd reload

6. 公開鍵認証方式でログインする

$ ssh -l user host

パスフレーズを聞いてくるのでssh-keygenコマンドで指定したパスフレーズを入力する
また,configファイルを作成して登録しておくと次からのログイン時に楽.

Host hoge
HostName host_name_address.com
User user_name
Port 22
IdentityFile ~/.ssh/id_rsa

これで以下のコマンドで接続出来るようになる.

ssh hoge

About

プログラムと農業とスノーボードと釣り

Read More