前回はターミナルソフトTeraTermを使って「Rocky Linux8.7」にカスタムポートでSSHログインしました。今回はSSHに用意されているセキュリティの高い公開鍵認証によるログインをしてみました。
概要
公開鍵と秘密鍵のキーペアを生成
1.まず、ユーザーに鍵保存用ディレクトリ「 .ssh 」を新規作成します。
以降、「 cd 」コマンドで .ssh ディレクトリに移動して作業をします。
[gusachan@dev ~]$ pwd
/home/gusachan
[gusachan@dev ~]$ mkdir .ssh
[gusachan@dev ~]$ cd .ssh
.
2.次に、RSA暗号ビット4096bitのキーペアを生成します。鍵の保存場所を訊かれるので[Enterキー]で進みます。
# [gusachan@dev .ssh]$ ssh-keygen -b 4096
Generating public/private rsa key pair. Enter file in which to save the key (/home/gusachan/.ssh/id_rsa): [Enterキー] Enter passphrase (empty for no passphrase):[秘密のフレーズ] Enter same passphrase again:[確認のため同じフレーズ] Your identification has been saved in /home/gusachan/.ssh/id_rsa. Your public key has been saved in /home/gusachan/.ssh/id_rsa.pub. The key fingerprint is: SHA256:5qFpvMdqQzTmGLJTi3CzPgjMzNkSfI+le59evBTyGDk gusachan@www.stuffy.site The key's randomart image is: +---[RSA 4096]----+ | | | | |. | |.o+.o.+ . | |=o=B=B ES. | |.B=+ooo=B.. | |.o....=o.= | |. o. oo.* . | | ...=B . | +----[SHA256]-----+ [gusachan@dev .ssh]$
.
3.パスフレーズは2回訊かれるので同じものを入力します。
これで公開鍵と秘密鍵のキーペアが作られました。
公開鍵を保存
1.初回新規は公開鍵 を authorized_keys ファイルとして保存します。
(※ 次回からは 「 cat 」コマンドで渡します。)
2.ファイルとディレクトリのアクセス権を設定。
3.秘密鍵をホームディレクトリに移動します。
$ mv id_rsa.pub authorized_keys
$ cat id_rsa.pub >> authorized_keys ←(次回以降は cat >> で。
$ chmod 600 authorized_keys
$ chmod 700 .
$ mv id_rsa ../
認証方式を公開鍵認証に変更する
/etc/ssh/sshd_config を編集してプレインパスワード認証から公開鍵認証方式に変更します。
$ sudo vi /etc/ssh/sshd_config
PermitRootLogin no ←(行頭コメント外す
#PubkeyAuthentication no ←(コメントアウト PubkeyAuthentication yes
#PasswordAuthentication yes ←(コメントアウト PasswordAuthentication no
.
最後にSSHを再起動します。
続いて秘密鍵をダウンロードしますのでセッションは継続です。
# systemctl restart sshd
秘密鍵をSCPダウンロードする
TeraTermの [ファイル] – [SSH/SCP]から秘密鍵のパスを入力して[Receive]ボタンをクリック。
From | /home/gusachan/id_rsa |
To | C:\Users\gusachan\Downloads |
.
すると端末PCの [ダウンロード] フォルダに秘密鍵がコピーできています。
TeraTermショートカットを作成する
Windows端末から毎回毎回TeraTermセッションを起動させるために簡単なTeraTermショートカットを作成します。
.
TeraTerm | アプリの実行パス | “C:\Program Files (x86)\teraterm\ttermpro.exe” |
ホスト名:ポート番号 | リモートホスト | dev.stuffy.site:22022 |
プロトコル | ssh2 | /ssh2 |
認証方式 | 公開鍵認証 | /auth=publickey |
ユーザー | gusachan | /user=gusachan |
パスワード | ダイアログ | /ask4passwd |
キーのパス | ローカルパス | /keyfile=”C:\Users\Downloads\id_rsa” |
"C:\Program Files (x86)\teraterm\ttermpro.exe" dev.stuffy.site:22022 /ssh2 /auth=publickey /user=gusachan /ask4passwd /keyfile="C:\Users\gusachan\Downloads\id_rsa"
.
3.これで端末から公開鍵認証でログインできる環境が整いました。
新規セッションでログインを確認
最後にショートカットをダブルクリックしてダイアログからパスフレーズを入力してSSHログインできることを確認します。
.
おわりに
今回はTeraTermターミナルエミュレーターでローカルネットワークからESXi VMに公開鍵認証SSHログインをしました。他にも「PowerShell」「ターミナル」などWindows内蔵のアプリでもログインできるので機会があればトライしてみてください。最後までお読みくださりありがとうございました。
.