Windows 10やWindows Server 2016以降のOSには、SSHクライアントがデフォルトでインストールされており、LinuxなどへSSH接続やSFTPなどによるファイル授受をする際に活用できる。
SSHはOpenSSHにて実装されており、パスワード認証だけでなく公開鍵認証を用いた接続もできる。
本記事では、WindowsのSSHクライアントを使って、公開鍵認証で接続する手順を記載する。
環境
今回の手順を確認したOSは以下の通り。
- SSHクライアント側
- OS : Windows Server 2019
- ユーザ名 : winuser
- SSHサーバ側
- OS : AlmaLinux 8.5
- ユーザ名 : testuser
公開鍵認証による接続手順
1. WindowsのSSHクライアントにて秘密鍵と公開鍵のペアを作成
公開鍵認証方式では、SSHクライアント側の公開鍵をSSHサーバ側に登録することで実現する。
まずは、WindowsのSSHクライアント側で秘密鍵と公開鍵のペアを作成するため、ssh-keygen
コマンドを実行する。3回確認を求められる個所があるが、そのままEnterキーを押してスキップすれば問題ない。
PS C:\Users\winuser> ssh-keygen.exe
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\winuser/.ssh/id_rsa):
Created directory 'C:\Users\winuser/.ssh'.
Enter passphrase (empty for no passphrase): ★そのままEnter
Enter same passphrase again: ★そのままEnter
Your identification has been saved in C:\Users\winuser/.ssh/id_rsa.
Your public key has been saved in C:\Users\winuser/.ssh/id_rsa.pub.
The key fingerprint is: ★そのままEnter
SHA256:9TC0QrXmG2Jy/k/dUP5jlontTrGqMJDQfrVKZHxsO1M intrat\winuser@win-server
The key's randomart image is:
+---[RSA 3072]----+
| ..o |
| . . .. . o |
| . . + =.EB .|
| o + + += + o |
| + o.=S o.. . .|
| + .=o. oo..o+|
| + . .+...*o|
| o .+.o o .|
| ....+. |
+----[SHA256]-----+
2. 作成した公開鍵を確認
ssh-keygen
で作成すると、ホームディレクトリ配下に、.ssh
というディレクトリが作成され、以下ファイルが保存される。
id_rsa
: 秘密鍵id_rsa.pub
: 公開鍵
公開鍵の情報が必要となるため以下の通り内容を表示しておく。
PS C:\Users\winuser> cat .\.ssh\id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCiDv+Q71aFBRnrB5WrEbOgIbTpCtTJOBgSnXYQh2YuC7jog+1jvj+j2x+Cyh1zbHLdeTAh4wFNiLkEgLflfS7Vb7REY58TXhr0O/hd++luj5UUXpBbZMJuFxvlQ4COnXDv7p6PTLuy22pdj+oOY1W00cf3tcTVswL271bK+aoXmZwFZzs3NjJiUcjouv6CmoynEobDKPInCxxxtkP12K9y2vLtesytSMw5z6whI4mE6Z+XpPaAPcD1dpwNlOD+tVcocJ1JcGO86cv1Ice3fcJUZghUZ2W+DUY6DFJV578aXI5rPgLbVzIqGt62AokaK61W6R53yvzwNVpkwCvyyyjHcsaxt5NxPVHeQYFmAnkkOYqWkRz47Gt1YVsXsO6y60uDMZ4BriIkJW7SXjSVjNZanOT7QF5huHkoy+o+eJJ3ubMfveVtTVLIiaFzqHsgKUZaIGBOuURT8utcSx7dYOzzzNnz88pp+o7qB/lGqOLxSM447gnXkY3KgibRBn9TzMs= intrat\winuser@win-server
3. SSHサーバ側に公開鍵を登録
SSHサーバ側となるLinuxサーバにログインし、こちらも.ssh
ディレクトリを作成する。なお、すでに作成がされている場合は、以下手順はスキップすること。
[testuser@linux-server ~]$ mkdir .ssh
[testuser@linux-server ~]$ chmod 700 .ssh
.ssh
ディレクトリ内にauthorized_keys
というファイルを作成し、先ほど確認したWindowsの公開鍵情報を追記する。
[testuser@linux-server ~]$ vi .ssh/authorized_keys
~(先ほど確認したWindowsの公開鍵情報を追記)~
[testuser@linux-server ~]$ chmod 600 .ssh/authorized_keys
4. 接続確認
以上で設定は完了となる。SSHクライアント側からSSH接続をして確認してみよう。初回接続時は、接続先に問題がいないか確認を求められるためyesを入力しておく。
PS C:\Users\winuser> ssh testuser@192.168.11.193
The authenticity of host '192.168.11.193 (192.168.11.193)' can't be established.
ECDSA key fingerprint is SHA256:onCxxKq7/iPWLneacMTxrBHnAAx46P9dAh1YP/C0Z2Q.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes ★yesを入力
Warning: Permanently added '192.168.11.193' (ECDSA) to the list of known hosts.
Last login: Mon Apr 3 22:02:08 2023 from 192.168.11.81
[testuser@linux-server ~]$
再度接続すると、今度は何も確認を求められることなくSSH接続に成功するはずだ。
PS C:\Users\winuser> ssh testuser@192.168.11.193
Last login: Sat Apr 8 19:33:08 2023 from 192.168.11.81
[testuser@linux-server ~]$
以上で、WindowsのSSHクライアントを使って、公開鍵認証で接続する手順は完了となる。
0 件のコメント:
コメントを投稿