我有一个安全 FTP (FTPS) 服务器,我的远程站点每天通过运行的脚本例程将文件上传到该服务器。过去,在升级硬件和部署新服务器时,我遇到过问题,导致该服务器的 RSA 指纹发生变化。然后,我的所有远程站点都无法连接,直到我删除旧密钥(通常通过 ssh_keygen -r myserver.com)。
我现在必须更改 myserver.com 的 IP 地址,我想知道是否有办法主动生成新的主机密钥,以便当服务器地址发生变化时,我的所有 FTPS 客户端远程站点都不会中断?
答案1
(我认为您的意思是 sftp,而不是 ftps。Ftps 与 SSH 无关。)
答案是“不”。从客户端的角度考虑一下:客户端如何相信他们实际上正在与正确的服务器而不是流氓服务器进行通信?如果允许服务器随意更改 IP(或密钥)而客户端不会抱怨,那么客户端就会愉快地连接到流氓服务器。
这很不方便,但您应该在带外协调 IP 的更改。例如,一封安全电子邮件指出“在 X 时间,服务器的 IP 将更改为 Y;您需要更新客户端的密钥存储。”实际上,这可能太不方便了,因此 ssh 客户端提供了一些配置选项来降低安全性。例如,OpenSSH 有一个选项CheckHostIP
,当设置为no
禁用 IP 检查时。不过,是否信任服务器的决定权在客户端手中,而不是服务器手中。