基于问题Ruby中使用net-sftp进行基于密钥的身份验证,我可以使用以下命令进行基于密钥的身份验证的SFTP:
Net::SFTP.start(host, "user", keys:['~/.ssh/my_key']) do |sftp|
sftp.upload! "/local/file.tgz", "/remote/file.tgz"
end
但是我无法让它适用于需要密码的密钥——我只是收到提示用户在该主机上登录。我是否遗漏了一些可以让我输入密钥密码的内容?或者我需要坚持使用
ssh-agent
来实现这一点吗?
passphrase
选项:
加载私钥时使用的密码(默认 是
,没有密码)nil
如果您没有指定
passphrase
,系统会要求您提供一个,除非您使用了 non_interactive
选项:
如果您的应用程序是非交互式的并且更喜欢,则设置为 true 认证失败 vs 提示密码
非交互式应用程序应将其设置为 true 更喜欢失败密码/等身份验证方法而不是询问密码