基于问题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
?
答案 0 :(得分:2)
有passphrase
选项:
加载私钥时使用的密码(默认值 是
nil
,没有密码短语)
如果您未指定passphrase
,系统会要求您提供一个,除非您使用non_interactive
选项:
如果您的应用是非交互式且喜欢,则设置为true 身份验证失败与密码提示
非交互式应用程序应将其设置为true 更喜欢失败的密码/ etc auth方法与要求输入密码