Windows 上的 OpenSSH 具有金鑰驗證

Windows 上的 OpenSSH 具有金鑰驗證

我正在嘗試在Windows Server 2019 上的OpenSSH 上進行基於金鑰的身份驗證。當鑰的身份驗證的說明進行操作時,開始出現以下錯誤向上。

在客戶端我們得到這個:

client_loop: send disconnect: Connection reset

谷歌結果似乎認為這是某種超時,但它在我們收到提示之前立即發生。

在主機端,我們在事件檢視器中看到以下內容:

sshd: fatal: fork of unprivileged child failed

谷歌的結果表明進程正在耗盡,但在我們的情況下這似乎不太可能。

我們的設定是標準的,遵循找到的文檔這裡,對 sshd 配置所做的唯一更改是啟用金鑰身份驗證,其他一切都是安裝後的預設。很高興提供任何其他信息,不確定還有哪些相關信息。

編輯:做了更多的挖掘,並有詳細的輸出,看起來公鑰已被接受,但它會立即關閉連接:

Authenticated to <ip> ([<ip>]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
debug1: ENABLE_VIRTUAL_TERMINAL_INPUT is supported. Reading the VTSequence from console
debug1: ENABLE_VIRTUAL_TERMINAL_PROCESSING is supported. Console supports the ansi parsing
client_loop: send disconnect: Connection reset

即使我沒有使用 -i 提供金鑰,它現在也嘗試基於金鑰的身份驗證,這很奇怪。

答案1

我不知道這個問題是否適用,但是當我們為 Windows 設定 OpenSSH 時,Microsoft 的文檔和開箱即用的功能無法正常運作。

我們使用這些來源和說明來正確設定它:

關於配置,我們的 sshd_config 包含以下內容:

AuthorizedKeysFile  .ssh/authorized_keys
Subsystem   sftp    sftp-server.exe
Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

sftp 設置,因為我們主要用它來移動檔案(請不要問為什麼)。

相關內容