将 net-ssh 与适用于 ssh 命令的选项一起使用时出现 ConnectionTimeout 错误?

ConnectionTimeout Error When Using net-ssh With Options that Work with ssh Command?

我正在尝试使用 the net-ssh documentation 连接到远程服务器。我正在使用以下选项:

的值设置等于我在 ~/.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 错误还是我需要调用其他命令?

我的问题是我没有正确指定参数。如果您使用的是选项,则需要将 hostusername 指定为位置参数,然后您可以对其余参数使用散列。正在做:

Net::SSH.start('host', 'user', :port => #my port#, :keys => ['/path/to/key'])

对我有用。