[さくらのVPS] 公開鍵認証方式の設定

さくらのVPSでは「root」でログインできるため、セキュリティ向上のため、公開鍵認証に変更します。

1. パスワードの変更

初期パスワードが指定されていますが、パスワードを変更します。
# passwd

2. SSH公開鍵の発行

(1) 暗号鍵の作成
RSA認証鍵を作成します。

# ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/contents/.ssh/id_rsa): [Enter]
Created directory '/home/contents/.ssh'.
Enter passphrase (empty for no passphrase): (任意のパスフレーズ)[Enter]
Enter same passphrase again:(任意のパスフレーズ)[Enter]
「Enter passphrase (empty for no passphrase):」および「Enter same passphrase again:」で任意のパスフレーズを入力します。

これで、「/root/.ssh」に
  • id_rsa
  • id_rsa.pub
の2つの鍵が作成されます。

(2) 公開鍵の作成
公開鍵「id_rsa.pub」の登録を行います。
$ cd .ssh
$ touch authorized_keys 
$ chmod 600 authorized_keys
$ cat id_rsa.pub >> authorized_keys
$ rm id_rsa.pub

(3) 秘密鍵のダウンロード
  • 秘密鍵「id_rsa」をクライアントPC等にダウンロードします。
  • ダウンロードした「id_rsa」のファイル名を「○○○○○○.pem」のように任意のファイル名に変更します。(拡張子は「.pem」)
  • ダウンロードが完了したら、秘密鍵「id_rsa」を削除します。
$ rm id_rsa

(4) SSH鍵の変換
SFTPを使用する場合には、秘密鍵をPEMからPPK形式に変換する必要があります。

「4. SFTPを使用するためのSSH鍵の変換」を参照して下さい。

3. sshdの設定

「root」ユーザのみ公開鍵認証を強制して、一般ユーザはパスワード認証とします。

# vi /etc/ssh/sshd_config

以下のように設定します。
PermitRootLogin without-password
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

sshdのサービスを再起動します。
# /usr/bin/systemctl restart sshd.service

4. 一般ユーザの場合

一般ユーザに対して公開鍵認証を行う場合には、
  1. 「1. SSH公開鍵の発行」の方法で認証鍵の発行を行います。
  2. 「sshd」の設定を行います。
# vi /etc/ssh/sshd_config

パスワード認証を「no」にします。
PasswordAuthentication no

なお、特定のユーザのみ公開鍵認証方式にしたい場合には、sshd_configの末尾に以下の行を追加します。
Match User contents
PasswordAuthentication no
※「contents」ユーザに対してのみ公開鍵認証を行います。

5. SFTPを使用するためのSSH鍵の変換

上記で作成したSSH鍵はPEM形式で、SFTPでは使用できません。
そこで、SFTPに使用できるPPK形式に変換する必要があります。
この変換には、puttygenを使用します。

(1) puttygenのダウンロード
PuTTY Download Pageより、「puttygen.exe」をダウンロードします。

(2) 変換作業
  • puttygen.exeを実行します。
  • メニューバーの「Converions(変換)」-「Import Key(鍵のインポート)」を実行します。
  • SSH鍵のファイル名を選択します。
  • SSH鍵のパスフレーズを入力して「OK」ボタンをクリックします。
  • SSH鍵が正常に読み込まれたら「Save private key(秘密鍵の保存)」ボタンをクリックします。
  • 任意のファイル名を付けて保存します。(拡張子が「.ppk」となります。)

(3) SFTPクライアントソフトについて
秘密鍵に対応しているSFTPクライアントソフトには、「WinSCP」(WinSCP Downloads)があります。

「WinSCP」の秘密鍵の指定欄に上記で変換したPPKファイルを指定します。


最終更新:2018年01月17日 09:52