SSH连接云服务器报错The semaphore timeout period has expired

     大致经过就是,我买了一个云主机,然后使用ssh进行连接的时候,运行了一个很长时间的编译命令,但是每次没编译结束就停了,搞的我很是烦,通过报错语句可以看到是超时问题timeout。那么需要外面对ssh命令连接的配置进行更改,主要就是在服务器下/etc/ssh/ssh_config文件最后一行加上ClientAliveInterval 3600 然后重启服务器(远程主机重启要谨慎),然后就可以啦。其实就是配置了一些客户端连接生存的间隔时间,也就是我们不在终端进行输入命令的话,这个客户端连接可以保持多久,那么单位是秒s

一 、场景复原

 

二 、解决办法

【1】修改配置

【服务端】

【/etc/ssh/ssh_config】一些配置

# server每隔一小时给客户端发送一次保活信息包给客户端
ClientAliveInterval 3600

# server端发出的请求客户端没有回应的次数达到86400次的时候就断开连接,正常情况下客户端都会相应
ClientAliveCountMax 86400

 

 

【客户端】

Options->Session Options->Terminal->Anti-idle->勾选Send protocol NO-OP

(中文版:选项->会话选项->终端->反空闲->发送协议NO-OP)

后面的设置时间默认的是60秒,只要小于自动断开连接的时限就可以了

大功告成

 

 

 

【2】后台执行命令

  • 转变思路,后台执行也可以。嘻嘻嘻第二种方法啦
  • 可以在命令后面加上& 实现后台运行。例如  sh test.sh & 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值