SSH の公開鍵暗号方式設定
1.公開鍵、秘密鍵ペアの作成
OpenSSH 使って Linux サーバに接続するユーザの公開鍵と秘密鍵のペアを作成します。
鍵ペアの作成は ssh-keygen をを使います。
公開鍵と秘密鍵のペアの作成はリモートログインするユーザ権限で実行します。
作成先・ファイル名を指定しなければ、 /home/(ユーザ名)/.ssh/ に id_ed25519, id_ed25519.pub が作成される。 途中、鍵用のパスワードも入力する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# su – <user name> $ ssh-keygen -t ed25519 Generating public/private ed25519 key pair. Enter file in which to save the key (/home/huong/.ssh/id_ed25519): Created directory '/home/huong/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/huong/.ssh/id_ed25519. Your public key has been saved in /home/huong/.ssh/id_ed25519.pub. The key fingerprint is: SHA256:nIJyadLBDmXJoozL8K2TGA6yXzPSV181nbT3R3+QSVE huong@localhost.localdomain The key's randomart image is: +--[ED25519 256]--+ | .o. o+E| | .+o ..+o| |o...o *o+| |+. + + . . . ++| |ooo.B . S . =| |=..*. o . . o| |++.o= . . | |o.+o + | | ... | +----[SHA256]-----+ |
1 2 3 |
$ cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys $ chmod 700 ~/.ssh/ |
2.秘密鍵ログイン設定
1 2 3 4 5 6 7 8 |
$ su - パスワード: # vi /etc/ssh/sshd_config ■49 行目あたり行頭の「#」を削除 変更前) #PubkeyAuthentication yes 変更後) PubkeyAuthentication yes |
SSH を再起動
1 |
# systemctl restart sshd.service |
秘密鍵をクライントPC にコピー(WinSCP使う) WinSCPの設定を行います
①WinSCPを起動し、「New Site」で次のように設定し、「Save」
Host name : サーバーのIPアドレス
Port number : SSHポート番号
User name : ユーザー名
Password : ユーザーのパスワード
![](https://korodes.com/wp-content/uploads/2023/10/4540ae7098b0690f9ca676ff8ffd15cc.jpg)
接続名を任意の名前でつける
![](https://korodes.com/wp-content/uploads/2023/10/e3a02ae187f6324f3525d92e1bff8eb1.jpg)
下記の画面に戻りますので「Login」
![](https://korodes.com/wp-content/uploads/2023/10/778ff04b09d92047d1d21d05991f2bbd.jpg)
下記の画面が出れば「Update」
![](https://korodes.com/wp-content/uploads/2023/10/3ef6548d856e3061d9d46b2bfd9f0c7d.jpg)
下記の画面では「Pasword」にユーザーのパスワードを入力する
![](https://korodes.com/wp-content/uploads/2023/10/8f3b101bb47bc18118be68d8ad1dbdd4.jpg)
下記の画面になりますので /home/ユーザー/.ssh ディレクトリーにあるid_ed25519をwindows側の任意の場所にコピーする(id_ed25519を選択し、左側にドラッグ&コピー)
![](https://korodes.com/wp-content/uploads/2023/10/3a36d8654894a3d23a8fd895e2f0f3ce.jpg)
3.秘密鍵でのみログインするよう変更します
1 2 3 4 5 |
# vi /etc/ssh/sshd_config ■69 行目あたり 「#PasswordAuthentication yes」の下に「PasswordAuthentication no」を追加 #PasswordAuthentication yes PasswordAuthentication no |
SSH を再起動
1 |
# systemctl restart sshd.service |
4.PuTTYgen を使った秘密鍵の作成
Winscp起動しツールからRun PuTTYgen を起動
![](https://korodes.com/wp-content/uploads/2023/10/777c894e138e47dd230d8d61e09dffa8.jpg)
Loadをクリック[ ファイルを開くダイアログ ] が開くのでファイルの種類を [ All Files (*.*) ] に変更して Linux サーバから転送した秘密鍵 id_ed25519 を読み込みます。
![](https://korodes.com/wp-content/uploads/2023/10/9247603d62f7d1e2217b2fddce2ffd3c.jpg)
![](https://korodes.com/wp-content/uploads/2023/10/990ef6babd9ad2d2a8d129d67724f998.jpg)
サーバー側で秘密鍵を作成したときに入力したパスフレーズを入力します
![](https://korodes.com/wp-content/uploads/2023/10/df3287608f0e1d97feef2a80e5051065.jpg)
以下のように表示されると [ OK ] ボタンをクリックします。
![](https://korodes.com/wp-content/uploads/2023/10/7267ad179705bd82028c53c5bfa1a0c1.jpg)
[ Save private key ] ボタンをクリックして秘密鍵を保存します。
![](https://korodes.com/wp-content/uploads/2023/10/8250ba57c789aa5c81a87dbd3b9ab7a4.jpg)
ここでは id_ed25519.ppk として保存します(Windowsに)。
![](https://korodes.com/wp-content/uploads/2023/10/afef6a30f506b44bbbd030c6466868d1.jpg)
該当サーバーを選択し、「Edit」クリック
![](https://korodes.com/wp-content/uploads/2023/10/21e13339eb23b0884d56a824132f7c4c.jpg)
「Advanced」をクリック
![](https://korodes.com/wp-content/uploads/2023/10/3278f7277891f1b4b034cca5e6f7b99a.jpg)
「Authentication」メニューを開き、「Private key file」に先ほどWindowsに保存した「id_ed25519.ppk」を指定する
![](https://korodes.com/wp-content/uploads/2023/10/a1dcab7f30a5d9bb9d6bf5cc1366ffc5.jpg)
「Save」をクリック
![](https://korodes.com/wp-content/uploads/2023/10/ae8ff1c0572994b055553321f9604eb9.jpg)
「Login」をクリック
![](https://korodes.com/wp-content/uploads/2023/10/16ed204bed5aa7dd2aa01acf3b343f85.jpg)
パスワードは上記「公開鍵、秘密鍵ペアの作成」で設定したパスワード
![](https://korodes.com/wp-content/uploads/2023/10/b5dd0b49caf59032f6f4b63c99473146.jpg)
正常に接続されると下記のように右側にサーバー側、左側にWindows側が表示される
![](https://korodes.com/wp-content/uploads/2023/10/5c1a93da1f41e78a98a58fce57ef314b.jpg)
Tera Termで接続する場合
「Use RSA/DSA/ECDSA/...」の欄にはwindowsに保存した「id_ed25519.ppk」を指定する
![](https://korodes.com/wp-content/uploads/2023/10/a985d924af8483e774304f4fc845112a.jpg)
これでSSHサービスのセキュリティ設定は完了です。