因此,我尝试通过 SFTP 连接到外部公司设置的用于发送运输数据的服务器。我有一个用户名、一个主机和一个私钥文件。
我可以在 Windows 10 机器上完美使用 WinSCP,但如果我尝试从 Linux 执行此操作,则无法连接。
我正在使用以下命令:
sftp -o "IdentityFile=key-private.ppk" user@host
然后它要求输入密码,然后我复制并粘贴该密码,但是这样做似乎失败了,并再次要求输入密码,直到最终返回:
Permission denied (publickey,keyboard-interactive).
Couldn't read packet: Connection reset by peer
我读到过我可能需要在我的authorised_keys文件中添加一些内容,但我不确定如何做到这一点。
另外:我无法通过 SSH 连接到服务器,因为它仅设置为接受 SFTP 连接。
答案1
我可能需要在我的authorised_keys文件中添加一些内容
在向您发送密钥之前,该公司已经完成了此操作。如果他们没有这样做,您也无法通过 WinSCP 进行连接。
sftp -o "IdentityFile=key-private.ppk" user@host
您的密钥是 PuTTY.ppk
格式,OpenSSH 无法识别。使用 PuTTYgen 进行转换(如果是 Windows,则通过菜单中的“导出 OpenSSH 密钥”,如果是 Linux,则通过命令行):
puttygen key-private.ppk -o key-private.pem -O private-openssh