公開鍵、秘密鍵ペアの作成
OpenSSH使ってLinuxサーバに接続するユーザの公開鍵と秘密鍵のペアを作成します。
鍵ペアの作成はssh-keygenを使います。
作成先・ファイル名を指定しなければ、/home/(ユーザ名)/.ssh/にid_rsa、id_rsa.pub が作成されます。
途中、鍵用のパスワードも入力します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# 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]-----+ $<br> |
1 2 3 4 5 |
$ 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 $<br> |
ide_rsa.pubをauthorized_keysに変更
1 |
mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys |
サーバー側で作成したSSH秘密鍵をクライアント側に転送すると、そのクライアントから対象サーバーに鍵ペア認証でログインができるようになります。
1 2 3 4 5 6 |
$ 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<br> |
SSHにログインを試みる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$ 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 ~]$<br> |
作成した秘密鍵id_rsaをwinSCPでwindowsに保存
Winscpを起動して[新しいタブ]クリックします。
ホスト名:サーバーのIPアドレス
ポート番号:SSHポート
ユーザ名:サーバーのログインユーザー
パスワード:サーバーのログインユーザーのログインパスワード
を入力して、[保存]をクリックします。
セッションの保存名:任意の名前
を入力して[OK]をクリックします。
該当サーバーを確認後、[ログイン]をクリックします。
このような画面が表示されたら[承認]をクリックします。
接続されると左側がPC(Windows)側、右側がサーバー側の表示になります。
/home/testuser/.sshディレクトリにある”id_rsa”ファイルをWindows側の適当な場所に保存します。
SSH設定ファイルの編集
パスワード認証ができないようにするため、SSH設定ファイルを編集します。
1 2 3 4 5 |
# vi /etc/ssh/sshd_config PasswordAuthentication no //65行目:パスワード認証不可に変更 # systemctl restart sshd<br> |
Tera Termでの接続
Tera termを起動後、左上のファイルをクリックして新しい接続を選択します。
ホスト:サーバーのIPアドレス
TCPポート:SSHポート番号
を入力して[OK]をクリックします。
初回接続時はこのようなセキュリティー警告が表示されるので[続行]をクリックします。
ユーザ名:ログインユーザー名
パスフレーズ:公開鍵・秘密鍵ペアの作成時に指定したパスワード
[RSA/DSA/ECDSA/ED25519を使う]を選択して、先ほどWindowsに保存したid_rsaを選択して[Ok]をクリックするとログインできます。
SSHに鍵ペアでの認証接続はこれで完了となります。
お疲れ様でした。
コメント