【CentOS Stream 9】SSHに鍵ペアで認証接続する

公開鍵、秘密鍵ペアの作成

OpenSSH使ってLinuxサーバに接続するユーザの公開鍵と秘密鍵のペアを作成します。
鍵ペアの作成はssh-keygenを使います。
作成先・ファイル名を指定しなければ、/home/(ユーザ名)/.ssh/にid_rsa、id_rsa.pub が作成されます。
途中、鍵用のパスワードも入力します。

# useradd testuser
# su testuser
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/testuser/.ssh/id_rsa): //変更がなければ空Enter
Created directory '/home/testuser/.ssh'.
Enter passphrase (empty for no passphrase): //パスフレーズ設定(ノーパスの場合は空Enter
Enter same passphrase again:
Your identification has been saved in /home/testuser/.ssh/id_rsa
Your public key has been saved in /home/testuser/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:0cvJ0XqLzOp8X/wfLDIyQ+mSrOl7jl75NvFlT7uUQ0s testuser@localhost.localdomain</pre>
<pre>The key's randomart image is:
+---[RSA 3072]----+
| .E=*oo=o+ |
| . . + .o* + |
| o . o = . . |
| . + + |
| * . . S o o |
| + * + . = . |
| =.+ = . |
| +o= = |
| +=+ . + |
+----[SHA256]-----+
$

作成された鍵を確認

$ ll ~/.ssh
合計 8
-rw-------. 1 testuser testuser 2622 2月 20 13:22 id_rsa
-rw-r--r--. 1 testuser testuser 584 2月 20 13:22 id_rsa.pub
$

 

ide_rsa.pubをauthorized_keysに変更

mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

 

サーバー側で作成したSSH秘密鍵をクライアント側に転送すると、そのクライアントから対象サーバーに鍵ペア認証でログインができるようになります。

$ chmod 700 ~/.ssh

// サーバーで作成した SSH 秘密鍵を転送
$ scp testuser@192.168.1.70:/home/testuser/.ssh/id_rsa ~/.ssh/
testuser@192.168.1.70 password:パスワードを入力
id_rsa 100% 2622 2.8MB/s 00:00

 

SSHにログインを試みる

$ ssh testuser@192.168.1.70
The authenticity of host '192.168.1.70 (192.168.1.70)' can't be established.
ED25519 key fingerprint is SHA256:0cvJ0XqLzOp8X/wfLDIyQ+mSrOl7jl75NvFlT7uUQ0s.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.70' (ED25519) to the list of known hosts.
Enter passphrase for key '/home/testuser/.ssh/id_rsa';
__ ____ _______ ___ _ _____ __________
/ //_/ / / / ___// | / | / / | / ____/ _/
/ ,< / / / /\__ \/ /| | / |/ / /| |/ / __ / /
/ /| / /_/ /___/ / ___ |/ /| / ___ / /_/ // /
/_/ |_\____//____/_/ |_/_/ |_/_/ |_\____/___/

Version 9.4.12-1.el9, Powered by Prime Strategy.

Last login: Tue Feb 20 15:24:56 2024
[testuser@localhost ~]$

 

作成した秘密鍵id_rsaをwinSCPでwindowsに保存

Winscpを起動して[新しいタブ]クリックします。

 

ホスト名:サーバーのIPアドレス
ポート番号:SSHポート
ユーザ名:サーバーのログインユーザー
パスワード:サーバーのログインユーザーのログインパスワード
を入力して、[保存]をクリックします。

 

セッションの保存名:任意の名前
を入力して[OK]をクリックします。

 

該当サーバーを確認後、[ログイン]をクリックします。

 

このような画面が表示されたら[承認]をクリックします。

 

接続されると左側がPC(Windows)側、右側がサーバー側の表示になります。
/home/testuser/.sshディレクトリにある”id_rsa”ファイルをWindows側の適当な場所に保存します。

 

SSH設定ファイルの編集

パスワード認証ができないようにするため、SSH設定ファイルを編集します。

# vi /etc/ssh/sshd_config

PasswordAuthentication no //65行目:パスワード認証不可に変更

# systemctl restart sshd

 

Tera Termでの接続

Tera termを起動後、左上のファイルをクリックして新しい接続を選択します。

 

ホスト:サーバーのIPアドレス
TCPポート:SSHポート番号
を入力して[OK]をクリックします。

 

初回接続時はこのようなセキュリティー警告が表示されるので[続行]をクリックします。

 

ユーザ名:ログインユーザー名
パスフレーズ:公開鍵・秘密鍵ペアの作成時に指定したパスワード
[RSA/DSA/ECDSA/ED25519を使う]を選択して、先ほどWindowsに保存したid_rsaを選択して[Ok]をクリックするとログインできます。

 

SSHに鍵ペアでの認証接続はこれで完了となります。
お疲れ様でした。

コメント

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