【发布时间】:2021-04-13 00:07:15
【问题描述】:
几天来,我一直在尝试使用 NET::SSH gem 将我的应用程序连接到远程服务器,但没有成功。问题似乎源于我需要使用私钥文件来验证登录。
require 'net/ssh'
def SSH(host, user, psw, keys, cmd)
Net::SSH.start( host,
user,
:password => psw,
:host_key => "ssh-rsa",
:encryption => ["blowfish-cbc","aes256-cbc"],
:keys => keys,
:verbose => :debug,
:auth_methods => ["publickey","password"]
) do|ssh|
@result = ssh.exec!(cmd)
puts @result
end
return @result
end
调试输出给了我错误:
无法加载私钥文件 `C:/path_to_key/key.ppk': ArgumentError (Could not parse PKey)
我已经看到很多附加了No start line 的错误示例,但是没有找到任何建议解决此问题的方法。我什至卸载并重新安装了 NET::SSH gem。
我通过 puTTY/WinSCP 使用相同的凭据连接没有问题,因此我确信没有远程身份验证问题。
任何帮助表示赞赏
【问题讨论】: