Cop*_*art 16 linux solaris ssh ssh-keys
我试图通过 SSH 从办公室 X 到办公室 Y 中的几个 Linux 机器。办公室 Y 中的 Linux 机器在 NAT 之后,每个机器都在自己的端口上运行。我可以通过 SSH 成功访问所有这些,但我无法进行身份验证。
我能够通过 SSH 进入第一个框,但是当我到达第二个框时,它说:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
[edited out fingerprint]
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:1
Run Code Online (Sandbox Code Playgroud)
我的理解是它希望从该公共 IP 地址看到相同的密钥,但它看到的是不同的密钥,因为它是不同的 SSH 服务器。
我该如何修复它,以便它在同一 IP 地址后面的每个服务器上创建/接受不同的密钥?
lar*_*sks 22
有几种方法可以解决这个问题:
您可以禁用此特定主机的主机密钥检查。在您的ssh_config
文件 ( ~/.ssh/config
) 中,输入如下内容:
Host remote.host.name
UserKnownHostsFile /dev/null
StrictHostkeyChecking no
Run Code Online (Sandbox Code Playgroud)
这配置ssh
为从不为 存储主机密钥remote.host.name
,但缺点是现在您容易受到中间人攻击(因为您盲目接受主机密钥,您无法判断远程主机密钥是否已更改)。
您可以使用类似的技术简单地为每个主机提供一个唯一的known_hosts
文件:
Host hosta
Port 10098
Hostname remote.host.name
UserKnownHostsFile ~/.ssh/known_hosts_hosta
Host hostb
Port 10099
Hostname remote.host.name
UserKnownHostsFile ~/.ssh/known_hosts_hostb
Run Code Online (Sandbox Code Playgroud)
然后,您将使用ssh hosta
或连接到这些主机ssh hostb
,并ssh
从配置文件中获取实际的主机名和端口。
Bra*_*ier 15
主机名或 IP 地址作为散列(或纯文本,取决于选项和版本默认值)存储在您的known_hosts
文件中。最简单的解决方法是为每个主机添加一个条目到 DNS 或/etc/hosts
(呃!)具有相同 IP (WAN) 地址的文件,例如/etc/hosts
:
your.wan.ip.address servera serverb
Run Code Online (Sandbox Code Playgroud)
然后ssh
按主机名和端口。
您没有说明您使用的是哪个版本的 Solaris(更重要的是 SSH),但足够最新的 OpenSSH 版本已经解决了这个问题。
这是我的known_hosts
文件中的两个条目,它们具有相同的 IP 地址但不同的端口号(一个是隐式 22);如您所见,存储的密钥不一样。
[10.69.55.47]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAo+zenWwhFWAa/exdxbm3A3htDFGwFVjFlHLO83AfOaloBbBrr6whmLeDqVPBSwI/yrePClpahLUMYE6qGBFCbbOYiQkMDwacNFfxvxd6oCMDDqZH6NWGiBCt0b2M6YKYhYCw6z8n0yvlLk1eTdpp2OpjbfwAIe4eBkWyKNZY9+17VtzARqGR9tgHC8Dh7HBApDR8wooc+XzY6FhD2b21meIt8r8bjfBIu5t6eQgDHh/TzUT1rGH6W0HeUJxpDnpud5Af1ygMEQFrGrzHi5HKtg+K6HFBggMF8t6p2Dz8oMds5pi6IuPlVi3UvO1X7mMJ9pP7ByMQqiVrQ9wtAbC2QQ==
10.69.55.47 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1clJ6vp8NDy7D9YVgAKQQzERfx3scR0c0027yOYGGpeLg+nW+x8mJk1ia9GouUTDME+NP2YDVZUEDog9rtTJvuLd22ZxfoC8LGboyBsmlhOVxdSCxmA/+blPCp1pyocr8pXyXjSkb/qQKKQMRoAU7qKKHPfI5Vugj04l6WbW2rJQTqFD/Lguc8AAUOE6K4DNhETOH2gOnwq6xi0vutDmeUKSqEvM/PQFZSlOL4dFDYO5jAUjvgm6yGHP3LlS9fmCzayJgGgLSnNz0nlcd94Pa1Cd441cCAZHFDvDPniawEafH9ok4Mmew0UGopQGUGbfb5+8g8YphLW6aLdrvnZbAw==
Run Code Online (Sandbox Code Playgroud)
我不知道哪个版本的 OpenSSH 引入了这个,但我正在运行
[me@risby fin]$ ssh -V
OpenSSH_6.9p1, OpenSSL 1.0.1k-fips 8 Jan 2015
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1916 次 |
最近记录: |