2011-09-11 107 views
3

我想我的手在鞋上但卡住了。我试图用ssh连接到远程计算机并发出一个命令,让它在cli中工作,但对于我来说,它是一个不行的鞋子。 这可能是一件简单的事情,但我是新的,我无法超越它。 这里是我的代码看起来像ATM红宝石鞋ssh连接

Shoes.setup do 
gem 'net-ssh' 

end 
require "rubygems" 
require "net/ssh" 
Shoes.app do 
    button "Connect" do 
    append Net::SSH.start('192.168.100.127', 'fox', :password => "xxxxxx") do 
    |ssh_connection| 
    ssh_connection.open_channel do |channel| 
     channel.on_data do |ch, data| 
      puts data 
      channel.exec "ls -la" do |ch, success| 
      para success 
      if success then 
      alert "uploaded" 
      else 
      alert "Fail" 
      end 
     end 
     end 
    end 
end 
end 
end 
+0

这是不是显示你的密码最好的办法;)即使是本地服务 – fl00r

+0

我删除从岗位的密码。 –

+6

请解释你得到的错误。 – denysonique

回答

0

你的代码试图首先接收数据通常不是这种情况。删除on_data:

Shoes.app do 
    button "Connect" do 
    append Net::SSH.start('192.168.100.127', 'fox', :password => "xxxxxx") do |ssh_connection| 
     ssh_connection.open_channel do |channel| 
     channel.exec "ls -la" do |ch, success| 
      para success 
      if success then 
      alert "uploaded" 
      else 
      alert "Fail" 
      end 
     end 
     end 
    end 
    end 
end