如何使用同一(但更改的)IP 地址上的 2 个不同主机处理 ssh 主机密钥验证?

发布于 2024-07-16 10:39:18 字数 1734 浏览 11 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

感性 2024-07-23 10:39:18

我认为这会起作用:

.ssh 目录中创建一个 config 文件,如下所示:

Host server1
  Hostname x1.example.com
  HostKeyAlias server1
  CheckHostIP no
  Port 22001
  User karl

Host server2
  Hostname x2.example.com
  HostKeyAlias server2
  CheckHostIP no
  Port 22002
  User karl

下面的说明(来自 man ssh_config

检查主机IP

如果此标志设置为
“是”,ssh(1) 将另外检查
known_hosts 中的主机 IP 地址
文件。 这允许 ssh 检测是否
由于 DNS 欺骗,主机密钥已更改。
如果该选项设置为“否”,则
检查将不会被执行。 这
默认为“是”。

HostKeyAlias

指定应该使用的别名而不是真实的别名
在主机密钥中查找或保存主机密钥时的主机名
数据库文件。 此选项对于隧道 SSH 很有用
连接或在单个主机上运行的多个服务器。

UsernamePort 行也避免了您必须在命令行上提供这些选项,因此您可以使用:

% ssh server1
% ssh server2

I think this will work:

Create a config file in your .ssh directory as follows:

Host server1
  Hostname x1.example.com
  HostKeyAlias server1
  CheckHostIP no
  Port 22001
  User karl

Host server2
  Hostname x2.example.com
  HostKeyAlias server2
  CheckHostIP no
  Port 22002
  User karl

Explanation Below (from man ssh_config)

CheckHostIP

If this flag is set to
"yes", ssh(1) will additionally check
the host IP address in the known_hosts
file. This allows ssh to detect if a
host key changed due to DNS spoofing.
If the option is set to "no", the
check will not be executed. The
default is "yes".

HostKeyAlias

Specifies an alias that should be used instead of the real
host name when looking up or saving the host key in the host key
database files. This option is useful for tunneling SSH
connections or for multiple servers running on a single host.

The Username and Port line avoids you having to give those options on the command line, too, so you can just use:

% ssh server1
% ssh server2
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文