Ruby 使用gem net/ssh时出错<;=Net::SSH::AuthenticationFailed
在使用gemRuby 使用gem net/ssh时出错<;=Net::SSH::AuthenticationFailed,ruby,ssh,server,Ruby,Ssh,Server,在使用gemnet/ssh时,我得到一个错误: /usr/local/lib/ruby/gems/1.9.1/gems/net-ssh-2.0.23/lib/net/ssh.rb:192:in `start': Net::SSH::AuthenticationFailed (Net::SSH::AuthenticationFailed) 我真的不明白发生了什么。。?我做了研究,发现了一些问题,但并没有真正回答我的问题 身份验证失败是否有具体原因?我所做的就是sshing到不同的服务器,是否有一
net/ssh
时,我得到一个错误:
/usr/local/lib/ruby/gems/1.9.1/gems/net-ssh-2.0.23/lib/net/ssh.rb:192:in
`start': Net::SSH::AuthenticationFailed (Net::SSH::AuthenticationFailed)
我真的不明白发生了什么。。?我做了研究,发现了一些问题,但并没有真正回答我的问题
身份验证失败是否有具体原因?我所做的就是ssh
ing到不同的服务器,是否有一些特定的内容需要更改
资料来源:
require 'rubygems'
require 'net/ssh'
require 'etc'
print "Enter password: "
system "stty -echo"
@password = gets.chomp
system "stty echo"
def logged_in(server)
cmd = `who`.gsub(/[ \t].*/,"").gsub(/\A.*\n/,'')
check = Net::SSH.start(@host, @username, :password => @password) do |ssh|
ssh.exec!(cmd)
end
end
@host = %w(server_names_here) do |server|
logged_in(server)
end
@username = Etc.getlogin
我想这可能是错误的密码,所以我尝试用echo“on”输入密码,我输入的是正确的密码,我还认为可能不是我的用户名,所以我使用:@username='my_username'
我仍然收到相同的错误
编辑:
发现问题时,它与放置
@username
的位置有关问题与放置@username
的位置有关
require 'rubygems'
require 'net/ssh'
require 'etc'
print "Enter password: "
system "stty -echo"
@password = gets.chomp
system "stty echo"
@username = Etc.getlogin #<= YAY!
def logged_in(server)
cmd = `who`.gsub(/[ \t].*/,"").gsub(/\A.*\n/,'')
check = Net::SSH.start(@host, @username, :password => @password) do |ssh|
ssh.exec!(cmd)
end
end
@host = %w(server_names_here) do |server|
logged_in(server)
end
需要“rubygems”
需要“net/ssh”
要求“等”
打印“输入密码:”
系统“stty-echo”
@password=gets.chomp
系统“stty回波”
@username=Etc.getlogin#@password)do | ssh|
ssh.exec!(cmd)
结束
结束
@主机=%w(此处为服务器名称)do |服务器|
已登录(服务器)
结束
@Jakuje哈哈,我刚刚编辑了这个问题,并详细介绍了这个问题