我有一大堆远程锁定的 Debian 机器,我无法访问它们,因为所有端口都已关闭。它们数量众多,遍布全国,物理访问将是一项相当麻烦的后勤操作。
apt-get upgrade -y
这些框由定期针对专用存储库运行的本地 cron 作业进行更新。
我发现存储库的签名密钥即将过期。这将使这些框无法再更新。我已经在可公开访问的密钥服务器上更新了签名密钥,但如果 apt-get 发现密钥已过期,它似乎不会自动从密钥服务器更新密钥。
我可以发送更新,向更新脚本添加一些内容来更新密钥。但是,如果盒子在密钥过期之前一直处于关闭状态,则无法再安装用于修复此问题的更新。
我尝试重新上传存储库中的所有软件包以取消签名,以解决这个问题。但是 apt-get 告诉我:
WARNING: The following packages cannot be authenticated! E: There are problems and -y was used without --force-yes
这实际上给我带来了同样的问题,我只能通过向存储库发送更新来修复更新脚本,但这个更新很快就会因为签名密钥过期而被忽略。任何在密钥过期前错过更新的盒子都将不再更新。
我现在有点焦虑了。有没有办法让我摆脱这种情况,而无需物理访问所有这些远程设备?
答案1
不可以,如果在密钥过期之前盒子没有更新,你就不能这样做。
正如您所说,这些机器不会自动更新密钥,它们既不会安装未签名的软件包,也不会安装使用过期密钥签名的软件包。如果它们这样做,那么整个签名就毫无意义了。
因此,最好的选择似乎是尽快启动它们并在旧密钥过期之前部署新密钥。对于其他机器,您需要使用 ssh 或本地访问或任何其他方式来部署新密钥。