![关闭具有 ControlPersist 并在后台保持活动状态的 ssh 会话](https://linux22.com/image/26106/%E5%85%B3%E9%97%AD%E5%85%B7%E6%9C%89%20ControlPersist%20%E5%B9%B6%E5%9C%A8%E5%90%8E%E5%8F%B0%E4%BF%9D%E6%8C%81%E6%B4%BB%E5%8A%A8%E7%8A%B6%E6%80%81%E7%9A%84%20ssh%20%E4%BC%9A%E8%AF%9D.png)
我已经ControlPersist 4h
在我的帐户中.ssh/config
并且它工作得很好,
我时不时地需要连接到这个需要一些特殊身份验证的服务器,如果我在它锁定我的帐户时不使用该帐户,
问题是这样发生的,我有一段时间没有使用我的账户,然后我通过 ssh 进入服务器,它检查我的账户是否被锁定,虽然它显示锁定,但它实际上并没有将我踢出,所以如果我离开(Ctrl-D,或关闭终端)并联系管理员解锁我的账户并尝试再次连接,我的会话将在我的终端“保持活动状态”,并且基本上不会再尝试,除非我重新启动或终止所有与 ssh 相关的进程,这很烦人,
有没有办法关闭这些在后台运行的会话?
答案1
您想要-O exit
ssh 选项。
krall@localhost $ ssh -o ControlPersist=yes otherbox
Password:
krall@otherbox $ exit
Shared connection to otherbox closed
krall@localhost $ ssh otherbox -O exit
另一个选项是-O stop
,它使控制主机停止接受连接,或者如果当前没有连接则关闭。
答案2
如果您ps -ef | grep {hostname}
已连接,则可以kill -9
执行该过程,它将重置连接。