[さくらのVPS] 公開鍵認証方式の設定
さくらのVPSでは「root」でログインできるため、セキュリティ向上のため、公開鍵認証に変更します。
1. パスワードの変更
初期パスワードが指定されていますが、パスワードを変更します。
2. SSH公開鍵の発行
(1) 暗号鍵の作成
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」に
の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」を削除します。
(4) SSH鍵の変換
SFTPを使用する場合には、秘密鍵をPEMからPPK形式に変換する必要があります。
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. SSH公開鍵の発行」の方法で認証鍵の発行を行います。
- 「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のダウンロード
(2) 変換作業
- puttygen.exeを実行します。
- メニューバーの「Converions(変換)」-「Import Key(鍵のインポート)」を実行します。
- SSH鍵のファイル名を選択します。
- SSH鍵のパスフレーズを入力して「OK」ボタンをクリックします。
- SSH鍵が正常に読み込まれたら「Save private key(秘密鍵の保存)」ボタンをクリックします。
- 任意のファイル名を付けて保存します。(拡張子が「.ppk」となります。)
(3) SFTPクライアントソフトについて
「WinSCP」の秘密鍵の指定欄に上記で変換したPPKファイルを指定します。
最終更新:2018年01月17日 09:52