如何在Ruby net / sftp连接中定义ssh密钥?

时间:2014-05-21 13:12:19

标签: ruby ssh

require 'net/sftp'

Net::SFTP.start('ip', 'user', :keys => ['/home/user/.ssh/id_rsa.pub', '/home/user/.ssh/id_rsa'], :password => 'password', :port => 30) do |sftp|
puts 'connected'
end

Net::SFTP.start('ip', 'user', :password => 'password', :port => 30) do |sftp|
puts 'connected'
end

但没有工作..

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

检查.bashrc文件是否回显任何奇怪的字符串。它一定很干净。

您可以通过运行命令ssh <target> -s sftp

来测试它

例如:

Johns-MacBook-Pro:~ jcreasey$ ssh localhost -s sftp
Password:
fooo

这里我的shell回应了'fooo',打破了sftp 您可以使用sftp命令测试一切是否正常。