2009-02-28 84 views
0

我得到这个错误初级问题在设置SSH密钥

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 

错误消息的其余部分与here

我在我的服务器上有SSH密钥。我在我的桌面上有我的私钥。我不知道我该把它放在哪里。

Add correct host key in ~/Users/Sam/.ssh/known_hosts to get rid of this message. 

我应该将我的服务器的公钥添加到文件中吗?

回答

2

的问题是,服务器的公钥已经从一个使用客户端连接的最后时间而改变,这可能暗示您试图欺骗您连接到以某种方式伪装成您的预期目标的服务器,以窃取您的凭据或其他恶意行为。

如果服务器上的公钥已经被明确地更改过,那么这个消息也会自然发生,这可能是由于许多合法的原因发生的 - 在不远的过去,基于Debian的Linux发行版中的漏洞需要密钥更新对于很多人来说,例如。

如果您可以确认您正在连接到预定的目的地,并且您知道任何密钥更改是合法的,那么您通常可以接受密钥更改。或者,正如消息所解释的,您可以通过替代(安全)通道获取服务器的公钥,并更新客户端的本地副本,以便再次识别服务器的凭据。

如果您不控制服务器,请联系执行此操作的人员或组织,并确定更改是否合法。

不要需要以任何方式修改您的私钥;这与您的密钥对无关。

1

如果服务器上的密钥真的发生了变化(即,您不是中间人攻击的受害者),最容易想到的就是从消息中获取行号(offending key is in path/known_host:line_number),删除这一行,登录到服务器(并接受密钥)。