是否有 ssh 配置备份,以便在发生错误时回滚?

是否有 ssh 配置备份,以便在发生错误时回滚?

我在互联网上有一台带有 ssh 服务器的服务器。我尝试配置 ssh(通过编辑文件/etc/ssh/sshd_config)编辑后,我必须重新启动 ssh。但是一旦我在文件中输入了拼写错误/语法错误,ssh 服务器就不会启动。我无法改回来,因为没有连接到机器。

有什么方法可以提供备份配置文件(在出错时自动选择)或其他方法来防止自己被服务器锁定?

我发现的唯一方法是通过 FTP 连接并编辑文件,但简单的 FTP 并不安全,而 SFTP 使用 ssh,所以这只是一个不安全的解决方案。

答案1

如果你正确测试了配置,则不需要回退配置,即

  1. 通过 SSH 连接到系统
  2. 更改 SSH 服务器的配置。
  3. -t使用 sshd 的或选项测试配置-T
  4. 在仍处于连接状态时重新启动 sshd。这不会关闭当前连接。
  5. 尝试创建与服务器的第二个连接。如果失败,您仍然可以使用第一个活动连接来重新安装并测试先前的配置。

答案2

screen -x
cd /etc/ssh
cp sshd_config sshd_config_orig
vim sshd_config
sshd -t
systemctl restart sshd; mv sshd_config sshd_config_attempt; mv sshd_config_orig sshd_config

然后保持连接,但打开一个新终端并使用全新的 ssh 客户端来测试新的连接。

如果您对其正常工作感到满意:

rm sshd_config; mv sshd_config_attempt sshd_config

如果您对其正常工作不满意:

systemctl restart sshd

如果您在测试期间因意外事故而失去连接,请使用 ipmi 或虚拟机管理程序控制重新启动远程服务器,它将使用旧的已知工作配置重新启动。

相关内容