首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略一台机器上的SSH known_hosts

忽略一台机器上的SSH known_hosts
EN

Unix & Linux用户
提问于 2015-10-21 17:11:59
回答 1查看 2K关注 0票数 0

我正在体验使用ssh与跳转主机的奇怪行为。虽然设置工作在机器A (cygwin,OpenSSH_7.1p1,OpenSSL 1.0.2d 2015年7月9日),但它不工作在机器B (OpenSSH_6.7p1 Ubuntu-5 ubuntu1.3,OpenSSL 1.0.1f 2014年1月6日)。此设置应由Ansible使用,以便通过堡垒主机连接到远程计算机。

我有下面的ssh.config

代码语言:javascript
复制
Host bastion
    HostName               a.a.a.a
    ProxyCommand           none
    UserKnownHostsFile     known_hosts

Host *
    User                   user
    Port                   22
    ForwardAgent           yes
    ProxyCommand           ssh forward@a.a.a.a nc %h %p
    PasswordAuthentication no
    UserKnownHostsFile     known_hosts

known_hosts文件驻留在同一个文件夹中。

呼叫

代码语言:javascript
复制
ssh bastion -F ssh.config

在两台机器上都能工作。而

代码语言:javascript
复制
ssh user@b.b.b.b -F ssh.config

是否只在机器A上工作,而不是在B上工作,从而导致

代码语言:javascript
复制
The authenticity of host 'a.a.a.a (a.a.a.a)' can't be established.
ECDSA key fingerprint is ###.

我尝试将代理命令更改为

代码语言:javascript
复制
ProxyCommand ssh forward@a.a.a.a -F ssh.config nc %h %p

这解决了问题

代码语言:javascript
复制
ssh user@b.b.b.b -F ssh.config

因为它现在在两台机器上都能工作。然而,rsync也使用这个配置,它是由Ansible运行的,因为它是从另一个基本目录运行的,所以找不到ssh.config文件。我不想使用绝对路径来允许可移植性。脚本应该在本地机器上运行(一些带有cygwin的Windows ),也可以由使用远程代理的专用构建服务器运行。

我现在已经将ProxyCommand设置为

代码语言:javascript
复制
ProxyCommand ssh -o UserKnownHostsFile=/dev/null \
  -o StrictHostKeyChecking=no forward@a.a.a.a nc %h %p

这在A+B上是可行的,但在rsync/ansible中也有问题。日志给我的是:

代码语言:javascript
复制
msg: Warning: Permanently added 'a.a.a.a' (ECDSA) to the list of known hosts.

主机密钥验证失败。

代码语言:javascript
复制
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]

初始配置不会无头工作,因为它需要手动步骤来设置主机键。这些替代方案确实破坏了以下工作流(rsync)。还有其他选择吗?

EN

回答 1

Unix & Linux用户

发布于 2015-10-21 18:32:04

“解决”主机密钥安全的可能性是使用ssh-keyscan,这将创建您的known_hosts文件,然后您可以不检查主机的真实性手动连接。

它可以这样使用:

代码语言:javascript
复制
ssh-keyscan hostname > known_hosts

您将失去安全的“一点”,但是如果这在可信环境中运行,则是可以接受的。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/237700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档