gpt4 book ai didi

Ruby 脚本 Net::SSH::HostKeyMismatch 但 ssh 有效

转载 作者:数据小太阳 更新时间:2023-10-29 07:29:44 27 4
gpt4 key购买 nike

我可以通过 ssh 连接到我的 aws 网络上的远程主机,但在 ruby​​ 脚本中使用 net/ssh 失败。我的 gem 是 Ubuntu 16.04 上的 net-ssh(4.2.0)。即使使用 non_interactive => false,它也不会提示输入密码。

错误:

Authentication failed for user 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

最佳答案

keys 数组需要指向您的私钥。 authorized_keys 是允许登录当前主机的 key 的公共(public)指纹。此外,您似乎还为 host_key 输入了私钥类型。

关于Ruby 脚本 Net::SSH::HostKeyMismatch 但 ssh 有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50338003/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com