基于问题Key based authenication with net-sftp in Ruby,我可以使用以下方法进行基于密钥的身份验证:
Net::SFTP.start(host, "user", keys:['~/.ssh/my_key']) do |sftp|
sftp.upload! "/local/file.tgz", "/remote/file.tgz"
end但是对于需要密码的密钥,我不能让它工作--我只是被提示要用户登录到那个主机上。我是不是遗漏了什么东西可以让我输入密码作为我的钥匙?还是我需要坚持ssh-agent的做法呢?
发布于 2016-06-07 06:21:43
有一个passphrase选项:
在加载私钥时要使用的密码(默认为
nil,不使用密码)
如果您没有指定passphrase,除非您使用了non_interactive选项,否则应该要求您指定一个:
如果您的应用程序是非交互式的,并且更喜欢身份验证失败和密码提示,则设置为true。 非交互式应用程序应该将其设置为true,以选择失败的密码/等等方法,而不是询问密码。
https://stackoverflow.com/questions/37667617
复制相似问题