Passphrase在Ruby中使用net-sftp进行基于密钥的身份验证

时间:2016-06-06 22:09:01

标签: ruby ssh sftp net-ssh net-sftp

基于问题Key based authenication with net-sftp in Ruby,我可以使用以下内容通过基于密钥的身份验证进行SFTP:

Net::SFTP.start(host, "user", keys:['~/.ssh/my_key']) do |sftp|
   sftp.upload! "/local/file.tgz", "/remote/file.tgz"
end

但我无法让这个用于需要密码的密钥 - 我只是被提示用户登录该主机。我错过了一些可以让我输入密钥的密码吗?或者我是否需要坚持使用ssh-agent

1 个答案:

答案 0 :(得分:2)

passphrase选项:

  

加载私钥时使用的密码(默认值         是nil,没有密码短语)

如果您未指定passphrase,系统会要求您提供一个,除非您使用non_interactive选项:

  如果您的应用是非交互式且喜欢,则

设置为true          身份验证失败与密码提示

     

非交互式应用程序应将其设置为true          更喜欢失败的密码/ etc auth方法与要求输入密码