Откройте ssh с помощью ruby net / ssh с определенным портом

#ruby #ssh #port

#ruby #ssh #порт

Вопрос:

Я пытаюсь отразить порт следующим образом:

   Net::SSH.start( 'hostname', :username=>'', :password=>'', :port=>1234 ) do |session|      
     puts session.exec!('echo "hello"')
  end
  

Но я получаю сообщение об ошибке:
Отказано в подключении — connect (2) для 176.71.60.78:22 (ошибка ::ECONNREFUSED)

Итак, согласно ошибке «22», мне кажется, что порт не отражен… Какие-нибудь идеи, пожалуйста?

Ответ №1:

Я вижу документы в https://www.rubydoc.info/github/net-ssh/net-ssh/Net/SSH.start

 .start(host, user = nil, options = {}, amp;block)
  

Итак

 Net::SSH.start('hostname', '', { password: '', port: 1234 }) do |session|
  puts session.exec!('echo "hello"')
end
  

Комментарии:

1. { пароль: «, порт: 1234 } — эта часть проблематична, в ней говорится, что требуется «=>»

Ответ №2:

используйте это так:

 Net::SSH.start( 'host', 'username',  {:password => 'password',:port => 'port'}) do |session|      
 puts session.exec!('echo "hello"')
end