Fedora35 : SSHの公開鍵暗号方式

SSH の公開鍵暗号方式設定

Windowsに SSH 秘密鍵、サーバーに SSH 公開鍵を作成し、鍵ペアによる認証でログインできるようにする。

1.ECDSA でキーペアを作成

一般ユーザーになり、ECDSA でキーペアを作成します
# su – <user name>
$ ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/huong/.ssh/id_ecdsa):<Enter>を入力
Created directory ‘/home/huong/.ssh’.
Enter passphrase (empty for no passphrase):  ← 任意のパスワードを入力します。
Enter same passphrase again:  ← もう一度同じパスワードを入力します。
Your identification has been saved in /home/<user name>/.ssh/id_ecdsa.
Your public key has been saved in /home/<user name>/.ssh/id_ecdsa.pub.
The key fingerprint is:
SHA256:/C+8j0Ykpbqq80ABB/kkbwB8L76MUxmrkBvAsT6OVwg <user name>@fedora
The key’s randomart image is:
+—[ECDSA 256]—-+
oo=====++=|
| o ==.+*o+|
| ++E=.o+ |
| oo+++o .|
| S ..oo. |
| oo . |
| o o |
| + = |
| .+.o.o
+—-[SHA256]—–+
$ mv ~/.ssh/id_ecdsa.pub ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

2.秘密鍵ログイン設定

$ su –
パスワード:
# vi /etc/ssh/sshd_config
■46行目あたり行頭の「#」を削除
変更前)
#PubkeyAuthentication yes
変更後)
PubkeyAuthentication yes
 SSH を再起動
# systemctl restart sshd.service

秘密鍵をクライントPC にコピー(WinSCP使う) WinSCPの設定を行います
WinSCPを起動し、「New Site」で次のように設定し、「Save」
Host name : サーバーのIPアドレス
Port number :  SSHポート番号
User name : ユーザー名
Password :  ユーザーのパスワード

接続名を任意の名前でつける  ↓

下記の画面に戻りますので「Login」  ↓

下記の画面が出れば「Yes」   ↓

下記の画面では「Pasword」にユーザーのパスワードを入力する

下記の画面になりますので /home/<user name>/.ssh ディレクトリーにあるid_ecdsaをwindows側の任意の場所にコピーする(id_ecdsaを選択し、左側にドラッグ&コピー)

3.秘密鍵でのみログインするよう変更します

# vi /etc/ssh/sshd_config
■66 行目あたり
「#PasswordAuthentication yes」の下に「PasswordAuthentication no」を追加
#PasswordAuthentication yes
PasswordAuthentication no
SSH を再起動
# systemctl restart sshd.service

3.PuTTYgen を使った秘密鍵の作成

該当サーバーを選択し、Winscpを起動しToolsからRun PuTTYgen を起動

Loadをクリック[ ファイルを開くダイアログ ] が開くのでファイルの種類を [ All Files (*.*) ] に変更して Linux サーバから転送した秘密鍵 id_ecdsa を読み込みます。

サーバー側で秘密鍵を作成したときに入力したパスフレーズを入力します

以下のように表示されると [ OK ] ボタンをクリックします。


[ Save private key ] ボタンをクリックして秘密鍵を保存します。

ここでは id_ecdsa.ppk として保存します(Windowsに)。

秘密鍵を使って SSH サーバーに接続
Winscp起動し、対象のサーバーを指定、「Edit」「Advanced」「Authentication」の順に開く
「Private key file」の欄にwindowsに保存したid_ecdsa.ppk を指定する

サーバー側で秘密鍵を作成したときに入力したパスフレーズを入力します

これでSSHサービスのセキュリティ設定は完了です。

タイトルとURLをコピーしました