将 net-ssh 与适用于 ssh 命令的选项一起使用时出现 ConnectionTimeout 错误?
ConnectionTimeout Error When Using net-ssh With Options that Work with ssh Command?
我正在尝试使用 the net-ssh documentation 连接到远程服务器。我正在使用以下选项:
:username
:port
:keys
:host
的值设置等于我在 ~/.ssh/config
文件中配置的 Host
的值,我使用 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>'
这是我的 configuration/argument 错误还是我需要调用其他命令?
我的问题是我没有正确指定参数。如果您使用的是选项,则需要将 host
和 username
指定为位置参数,然后您可以对其余参数使用散列。正在做:
Net::SSH.start('host', 'user', :port => #my port#, :keys => ['/path/to/key'])
对我有用。
我正在尝试使用 the net-ssh documentation 连接到远程服务器。我正在使用以下选项:
:username
:port
:keys
:host
的值设置等于我在 ~/.ssh/config
文件中配置的 Host
的值,我使用 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>'
这是我的 configuration/argument 错误还是我需要调用其他命令?
我的问题是我没有正确指定参数。如果您使用的是选项,则需要将 host
和 username
指定为位置参数,然后您可以对其余参数使用散列。正在做:
Net::SSH.start('host', 'user', :port => #my port#, :keys => ['/path/to/key'])
对我有用。