公開鍵認証で Windows に SSH 接続できない

公開鍵認証で Windows に SSH 接続できない

公開鍵認証を使用して SSH 経由で Wi​​ndows に接続しようとしています。しかし、どうやら機能していないようです。

私がやったことは以下の通りです。

Windows に SSH をインストールして有効化しました。

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

公開鍵ファイルを生成し、SSH からリモート マシンに送信しました。

ssh-keygen

SSH設定ファイル「C:\ProgramData\ssh\sshd_config」に以下の行を変更/追加しました。

PermitRootLogin yes
AllowUsers otheruser
PubkeyAuthentication yes
PasswordAuthentication no

設定変更を適用するために、ssh サーバーを再起動しました。

net stop sshd ; net start sshd

リモートマシン(Windows、PowerShell)からWindowsマシンにSSH接続しようとしました

ssh -i C:\_sync_\id_rsa [email protected]

そして失敗しました。

> ssh -i C:\_sync_\id_rsa [email protected]
[email protected]: Permission denied (publickey,keyboard-interactive).

では、この SSH 公開鍵認証の問題をどのように解決すればよいのでしょうか?

答え1

WindowsにSSH接続するのは時間の無駄です。彼らのドキュメントhttps://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement時代遅れであるhttps://github.com/MicrosoftDocs/windowsserverdocs/issues/4598残念ながらもう動作しません。

Windows 10 を使用している場合は、Windows 10 で WSL Linux を使用することをお勧めします。これは基本的に Windows 上の Linux マシンですが、SSH 機能も利用できます。WSL SSH は、Linux マシンと同様に完璧に機能します。

答え2

authorized_keysWindows では、標準ユーザーか管理者ユーザーかによって必要なファイルが異なっているようです。

2024年4月15日現在、OpenSSH for Windowsについて言及されている。ドキュメンテーション(例えば行政ユーザー):

公開鍵 (.ssh\id_ed25519.pub) の内容は、サーバーの C:\ProgramData\ssh\ にある administrators_authorized_keys というテキスト ファイルに配置する必要があります。

関連情報