无法在 Windows 上使用带有密钥认证的 openssh

无法在 Windows 上使用带有密钥认证的 openssh

由于“权限不好”,我无法使用我的私钥(我完全禁用了密码验证)

C:\Users\Patron>ssh -i C:\Users\Patron\id_rsa -p 993 [email protected]
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'C:\\Users\\Patron\\id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "C:\\Users\\Patron\\id_rsa": bad permissions

密钥是从我的 Android Oreo 设备复制的,termius(应用程序)接受相同的密钥。Android 设备未 root,因此我不确定是否可以更改权限。我尝试在 Termux 中使用 Fakeroot

chmod 600 /storage/emulated/0/id_rsa

然后复制到 Windows,但出现了错误。请注意,我不是管理员

解决了我没有意识到当我禁用继承时,我删除了所有权限而不是转换为显式权限。我也没有明确拒绝其他人的权限,我只是允许我自己的权限。但仍然无法转换为 ppk

答案1

问题出在 Windows 端(而不是 Android 端)

更改权限C:\Users\Patron\id_rsa 在 Windows 中。当您复制文件内容时,似乎您的文件权限没有被复制。

例如,在 Windows 资源管理器中右键单击该文件。

相关内容