我正在尝试使用the net-ssh documentation连接到远程服务器。我正在使用以下选项:
:username
:port
:keys
:host
将值设置为我在Host
文件中配置的~/.ssh/config
的值,该文件用于使用ssh
命令连接到同一远程服务器。但是,我在irb
中尝试运行以下行时遇到错误:
session = Net::SSH.start( # my options here # )
错误:
Net::SSH::ConnectionTimeout: Net::SSH::ConnectionTimeout
from /Users/jake/.gem/gems/net-ssh-4.2.0/lib/net/ssh/transport/session.rb:90:in `rescue in initialize'
from /Users/jake/.gem/gems/net-ssh-4.2.0/lib/net/ssh/transport/session.rb:57:in `initialize'
from /Users/jake/.gem/gems/net-ssh-4.2.0/lib/net/ssh.rb:237:in `new'
from /Users/jake/.gem/gems/net-ssh-4.2.0/lib/net/ssh.rb:237:in `start'
from (irb):14
from /usr/local/bin/irb:11:in `<main>'
这是我的配置/参数错误还是我需要调用另一个命令?
答案 0 :(得分:2)
我的问题是我错误地指定了我的论点。如果您正在使用选项,则需要将host
和username
指定为位置参数,然后可以对其余参数使用散列。这样做的:
Net::SSH.start('host', 'user', :port => #my port#, :keys => ['/path/to/key'])
为我工作。