使用适用于 Windows 的 OpenSSH,我尝试使用公钥设置 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 -folder 和 authorized_keys -file 的访问权限