#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