WinSCP无法识别密钥文件

WinSCP无法识别密钥文件

我正在尝试为自动交易设置批处理文件,但我的测试迄今为止失败了。

我有建立连接的服务器的公钥。它已保存为 .pkk 文件并导入 WinSCP。

我已将结果记录在文本文件中,内容如下:

Username: 4m4nseth (Password: No, Key File: No)

密钥文件在那里,但是 WinSCP 由于某种原因没有获取它。

如果作为批处理文件运行,我会收到以下消息:


会话名称:4m4nseth@IP 地址主机名:IP 地址(端口:22) 用户名:4m4nseth(密码:无,密钥文件:无) 隧道:无传输协议:SFTP (SCP) Ping 类型:-,Ping 间隔:30 秒;超时:15 秒

但如果在 WinSCP 中运行


会话名称:4m4nseth@ipaddress 主机名:ipaddress(端口:22) 用户名:4m4nseth(密码:无,密钥文件:有) 隧道:无传输协议:SFTP (SCP)

如您所见,密钥文件已保存,但作为批处理命令运行时它无法识别。

答案1

我认为您的公钥和私钥弄错了。

如果您使用 WinSCP 将信息复制到(或从)服务器复制信息,则需要在运行 WinSCP 的框上生成公钥/私钥,使用私钥配置 WinSCP,并将公钥放在服务器上的适当位置(在 Linux 中,位于 ~username/.ssh/authorized_keys

虽然一开始这对我来说似乎是违反直觉的(很久以前!!),但如果你仔细思考一下逻辑,它实际上是完全合理的。按如下方式思考可能会有所帮助 -

  1. 私钥应该是私密的,即只有您应该知道的东西。
  2. 如果服务器属于其他人,您不想向他们提供只有
    您应该知道的信息,因此您不想向他们提供您的私钥。
  3. 另一方面,如果你将公钥交给他们,而他们的系统被攻破,其他人将你的公钥添加到他们的设置中,这只意味着你可以访问他们的系统,你没有丢失任何东西。另一方面,如果你必须将私钥交给他们,你就失去了对它的控制权。

相关内容