Ruby鞋ssh连接

Ruby鞋ssh连接,ruby,shoes,Ruby,Shoes,因此,我添加了一个按钮,单击该按钮可以调用函数log\u in button "Login" do log_in end 这是我的功能,它应该用用户名和密码连接到服务器 def log_in alert "Hola" Net::SSH.start(@hostname, 'Maria', :password => "mariahi") do |ssh| ssh.exec "ls" do |ch, success| para success if

因此,我添加了一个按钮,单击该按钮可以调用函数log\u in

button "Login" do
  log_in
end
这是我的功能,它应该用用户名和密码连接到服务器

def log_in
  alert "Hola"
  Net::SSH.start(@hostname, 'Maria', :password => "mariahi") do |ssh|
    ssh.exec "ls" do |ch, success|
      para success
      if success then
        alert "yay"
      else
        alert "Fail"
      end
    end
  end
end

我确实收到了第一个对话框警报,这意味着该函数在单击时被调用,但从那里什么也没有发生。我的错在哪里?使用Ruby Shoes。

使用更多的警报(或调试器,或
puts
语句,或其他任何东西)来找出程序暂停的位置。您需要知道它是否成功连接,如果成功,远程“ls”是否返回结果。好的,有没有关于如何连接的提示?我对整件事还不太熟悉。您已经使用了一个警报来确认该函数是在单击时调用的。在
Net::SSH.start
行之后添加另一个警报,以了解网络连接是否已建立;在
SSH.exec“ls”行之后添加另一个警报,以了解“ls”是否返回结果。连接已建立,但SSH.exec“ls”未给出任何结果。相反,什么也没有发生,也没有错误消息。这很好。这些信息应该存在于问题本身——因此评论是短暂的。请单击“编辑”并将所有附加信息添加到问题中,好吗?然后进行下一个实验:从程序中移除所有的“鞋子”,让它只执行
SSH.start…
SSH.connect…
,然后看看会发生什么。