ruby - Ruby 中使用 net-sftp 进行基于密码 key 的身份验证

标签 ruby ssh sftp net-ssh net-sftp

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

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

但是我无法让它适用于需要密码的 key - 我只是收到提示用户在该主机上登录。我是否遗漏了一些可以让我输入 key 密码的内容?或者我是否需要坚持使用 ssh-agent 来实现此目的?

最佳答案

密码选项:

the passphrase to use when loading a private key (default is nil, for no passphrase)

如果您没有指定密码,系统会要求您输入密码,除非您使用non_interactive选项:

set to true if your app is non interactive and prefers authentication failure vs password prompt

non interactive applications should set it to true to prefer failing a password/etc auth methods vs asking for password

关于ruby - Ruby 中使用 net-sftp 进行基于密码 key 的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37667617/

相关文章:

git - 如何从已知主机列表中删除永久添加的主机?

java - JSch ChannelSftp.ls - 在 java 中传递匹配模式

python - 如何从 Google Compute Engine 访问外部 SFTP

ruby - 每个页面上的 Jekyll 分页

ruby - 如何在 Sidekiq 中运行 worker 一段时间?

ruby-on-rails - Ruby on Rails、ActiveScaffold 和数据库中的亲戚

Heroku -> GitHub SSH key 问题

git - 如何通过Git中的ssh从Windows服务器克隆到Mac客户端?

Java:使用SFTP检查文件是否已完全复制

ruby - 有没有更优雅的方法来用 Ruby 编写我的对象层次分析器?