使用ssh来杀死并重新启动所有sshd进程

时间:2013-02-05 23:33:56

标签: bash ssh

我有一个

的脚本
  1. 杀死所有sshd进程
  2. 启动新的sshd流程
  3. 我想将此脚本scp到远程计算机上并使用ssh执行它。在执行杀死所有sshd的第一步之后,它是否仍然会再次运行sshd的第二步?我很担心,因为我正在使用ssh运行脚本,ssh将在第1步后死亡。

3 个答案:

答案 0 :(得分:2)

正常程序是停止主sshd,例如/etc/init.d/sshd stop或您的发行版相当于。这样,侦听守护程序会在现有连接继续时关闭,直到客户端断开连接。

如果要升级/替换sshd,请更改任何设置并重新启动它,这是可行的方法。

答案 1 :(得分:0)

无需scp它到服务器,只需尝试这样做:

while read cmd; do ssh server "bash -c $cmd"; done < script.sh

答案 2 :(得分:0)

为什么不使用cron呢? 例如:

10 * * * * / path_to_script

分钟小时dayofweek命令

别忘了关闭它;)