我对sshd_config文件进行了一些更改,因此需要重新启动。 我正在寻找安全地重新启动ssh的技巧,当物理访问服务器将是一个痛苦的PITA。
当通过sshlogin时重新启动sshd不会断开你的ssh连接。
所以,如果你担心你的configuration,通过SSHlogin几次,然后重新启动。
如果您不能再使用新的连接ssh,您现在可以修复这些问题。
下面在Milan Babuškov
的评论中提到:如果你真的想确定, sshd -t
会testing你的configuration是否正确。
Ronald Pottol
另一个build议是设置一个cron
任务来重新启动已知的工作configuration的服务器。
也许是矫枉过正,但是如果你正在更新关键任务服务器等等,有时你永远不会太小心。
如果你有权访问硬件,你可以考虑把一个terminal放在串口/ dev / ttyS0上。 那么你可以有一个后门进入你的服务器。
只需添加
SO:2345:respawn:/sbin/mingetty ttySO
到你的/ etc / inittab,一个terminal会产生你的串口。 您可以使用串行端口集中器,也可以使用旁边服务器的空调制解调器。
不要担心,即使新configuration出现问题,您的当前会话也不会断开连接。
应用新configuration并重新启动sshd后,只需尝试login几次,并查看日志,看看是否一切正常。
或者,如果你觉得运气不好,或者使用cron或者在工作中开始备份?
你能不能在SSH服务的PID中运行kill -HUP? 它不干净,但它的作品
我发现,现在sshd
在重新启动时不会断开你的会话,特别是当它是基于Redhat的发行版时。 您可以随时编写一个小脚本,它会自动从备份中恢复sshd
configuration,并在cron
或作业5分钟后重新启动sshd
。 这将确保即使断开连接,至less可以返回到服务器。
我不build议在sshd连接上重新启动/重新加载SSHD。 我见过很多场合,因为sshd_config中的语法错误,sshd不会启动。
即使configuration文件一切正常,也是有风险的。