Я могу подключиться к ssh на удаленном хосте в моей сети aws, но использование net / ssh завершается неудачно в сценарии ruby.мой драгоценный камень - net-ssh (4.2.0) на Ubuntu 16.04.Пароль не запрашивается даже при non_interactive => false.
error:
Ошибка аутентификации для пользователя Net :: SSH :: AuthenticationFailed
Почему этот код не работает?
#!/usr/bin/env ruby
require 'rubygems'
require 'net/ssh'
HOST = 'myhost'
Net::SSH.start(HOST,
:auth_methods => ['publickey'],
:passphrase => 'mypassphrase',
:non_interactive => true,
:host_key => "ssh-rsa",
:keys => [ '/home/markhorrocks/.ssh/id_rsa' ]
) do |session|
output = session.exec!('ls')
puts output
end
После редактирования моего кода к этому я получаю ошибку
(Net :: SSH :: HostKeyMismatch)
HOST = 'myhost'
USER = 'markhorrocks'
Net::SSH.start(HOST, USER,
:auth_methods => ['publickey'],
:passphrase => 'mypassphrase',
:non_interactive => true,
:host_key => "ssh-rsa",
:encryption => "blowfish-cbc",
:keys => [ '/home/markhorrocks/.ssh/id_rsa' ],
:port => '1234',
:forward_agent => true,
:compression => "zlib@openssh.com"
) do |session|
output = session.exec!('ls')
puts output
end