7. 安全注意事项

当 ssh 会话启动时,在身份验证过程建立之前,公钥是通过不安全的连接发送的。这允许某人拦截 ssh 会话,并在连接过程中放置他们自己的公钥。SSH 设计用于在公钥与 known_host 文件中存在的公钥发生更改时警告用户。发出的警告非常明显,如果公钥不同,ssh 将断开连接,但用户可能仍然信任该证书,因为他们可能认为他们的公司已更改了服务器的公钥。这种攻击并不困难,因为前面提到的 dsniff 包包含执行它所需的工具。这种攻击更常被称为“中间人攻击” (SSL 和 SSH 的终结)

一个临时的简单解决方案是,首先教用户如何识别主机密钥已更改的迹象,以及如何获取正确主机公钥。其次,将 ssh 服务器的公钥发布在网站、ftp 服务器上,或以其他方式分发,以便用户可以随时访问。