使用 OpenSSH for Windows,我嘗試使用公鑰設定 SFTP。
我的錯誤日誌顯示了這一點:
12080 2020-03-20 11:51:02.136 debug3: Failed to open file:C:/Windows/.ssh/authorized_keys error:2
12080 2020-03-20 11:51:02.136 debug1: Could not open authorized keys 'C:\\Windows\\.ssh/authorized_keys': No such file or directory
在 sshd_config 中我們配置了一個用戶,如下所示:
Match User testuser
ChrootDirectory E:\Integration\SFTP\TestUser
PasswordAuthentication no
PubkeyAuthentication yes
那麼軟體不應該去E:\Integration\SFTP\TestUser\.ssh\authorized_keys取得金鑰檔案嗎?
然後作為測試,我將使用者的authorized_key複製到c:\Windows..sh目錄,然後出現以下錯誤:
debug1: trying public key file C:\\Users\\testuser\\.ssh/authorized_keys
debug3: Failed to open file:C:/Users/testuser/.ssh/authorized_keys error:2
debug1: Could not open authorized keys 'C:\\Users\\testuser\\.ssh/authorized_keys': No such file or directory
當我將密鑰放入上面的目錄時,它就起作用了。那麼 ChrootDirectory 僅適用於傳送和接收的檔案來源,不適用於 .ssh 檔案?接下來我將嘗試從 C:\Windows 中刪除...
我刪除了檔案 C:\Windows.ssh\authorized_keys,它仍然有效。那麼也許當找不到使用者時,它會轉到 C:\Windows 目錄作為其備份來源?
答案1
當我手動建立使用者資料夾而不是使用實際使用者帳戶登入時,我遇到了錯誤「C:\Windows\.ssh/authorized_keys':沒有這樣的檔案或目錄」的情況。
我的情況是透過以下方式解決的:
- 重新命名/刪除手動建立的使用者資料夾
- 使用實際用戶帳號登錄
- 建立/複製 .ssh 資料夾和authorized_keys 文件
- 檢查.ssh資料夾和authorized_keys檔案的存取權限