使用Linux服务器一段时间后出现‘Socket error Event: 32 Error: 10053’,快速带你解决连接失败!

问题描述:

        使用【Xshell】软件的时候,我们通常会把程序挂在【Xshell】主页上,这样可以随时随地的看到深度学习代码训练的进程。但是,把自己的程序挂上一天,或者一段时间不操作【Xshell】,就会出现这个问题。然后,你再次连接还可以连接,就是你的程序得重新跑了。

         然而,当你,再次连接后,可能过上三五分钟,又出现这个提示并且断开了,是不是很烦?

        下面的方法,可能帮助你!一起看看吧


原因分析:

使用【Xshell】软件,用ssh连接是,如果你连接过于频繁或者连接之后长时间不操作,都会出现这个报错


问题解决:

三种解决方案,三种不同的思想。我们一起尝试!

①修改配置文件

        在Linux服务器终端上输入如下命令

1.使用管理员权限进入修改配置文件

sudo vim /etc/ssh/sshd_config

         这里可能会让你输入密码。输入你的管理员密码即可。

2.修改某些参数。

#ClientAlivenInterval 修改成【60】

#ClientAlivenCountMax修改成【3】

具体操作如下:

        使用管理员权限进入修改配置文件进入页面之后,按【i】进入编辑状态。进入成功后左下角的标志为下:

        然后找到这两个位置,修改成上面要求的参数:

 参数解释:

设置SSH空闲超时退出时间,可降低未授权用户访问其他用户ssh会话的风险

ClientAliveInterval 60 :每隔60秒发送一次请求给client,然后client响应,从而保持连接。

ClientAliveCountMax 3 :发出请求后,客户端没有响应的次数达到3次,就自动断开连接,正常情况下,不会不响应。

        然后,按键盘左上角的【Esc】退出编辑,成功退出后,左下角会出现这个页面。

        再依次按英文的【:】【w】[【q】【!】,效果如下。最后按个回车保存就可以了。

        按完回车之后,出现这个页面:

        就代表,编辑成功了!

3.重启sshd服务 

systemctl restart sshd

 ②不修改配置文件,直接在SSH远程连接的时候添加参数

        不修改配置文件,直接在SSH远程连接时命令加参数,即ssh -o ServerAliveinterval=60 root@'远程连接IP地址',这样就只会在当前需要的远程连接中保持持久的连接, 并不是所有的远程连接都需要保持持久连接的!

[root@Jenkins ~]# ssh -o ServerAliveinterval=60 [email protected]
Last login: Wed May 18 14:53:19 2022 from 192.168.1.30

[root@Web1 ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.33  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 240e:39a:39b:cd10:20c:29ff:fec1:8e32  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::20c:29ff:fec1:8e32  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:c1:8e:32  txqueuelen 1000  (Ethernet)
        RX packets 756  bytes 66547 (64.9 KiB)
        RX errors 0  dropped 112  overruns 0  frame 0
        TX packets 549  bytes 52204 (50.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


 ③使用nohup后台运行深度程序

        nohup的意思就是:永久执行,是no hang up的缩写,指不间断,不挂断。运行一个进程的时候,不想让其在你退出账号时关闭,即可用nohup。nohup用于不挂断地运行命令。nohup在不规定的情况下,所以输出内容会到nohup.out中。

nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响运行,注意了nohup没有后台运行的意思;&是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出。 

       在跑时间比较长的程序,或者打印信息比较多,或者网络不稳定时,可以采用后台运行程序,然后把打印信息保存在文件中,等程序结束后再检查日志,

         一般在终端运行自己的代码指令时候,加上【nohup】,具体格式用这个就够了

nohup python A.py >> /home/my.log 2>&1 &

        其中,A.py是自己要运行的命令; /home/my.log是自己要存储代码运行的日志文件,即你在前台看到什么都会给你写进去这个log文件。

         

        其中,
1. 最后一个“&”表示后台运行程序
2. “nohup” 表示程序不被挂起
3. “python”表示执行python代码
4. “-u”表示不启用缓存,实时输出打印信息到日志文件(如果不加-u,则会导致日志文件不会实时刷新代码中的print函数的信息)
5. “test.py”表示python的源代码文件
6. “test.log”表示输出的日志文件
7. “>”表示将打印信息重定向到日志文件
8. “2>&1”表示将标准错误输出转变化标准输出,可以将错误信息也输出到日志文件中(0-> stdin, 1->stdout, 2->stderr)

        输入好之后,按回车,输入exit命令退出终端,关闭shell。【注意】不能直接退出终端

        查看后台运行程序及关闭

        有两个命令可以用,jobs和ps,区别是jobs用于查看当前终端后台运行的任务,换了终端就看不到了。而ps命令用于查看瞬间进程的动态,可以看到别的终端运行的后台进程。

        jobs命令只看当前终端生效的,关闭终端后,在另一个终端jobs已经无法看到后台跑得程序了。也就是说如果你的网或者你关闭链接时,当你再次进入时用jobs -l看不到之前运行的程序运行进程。


其他问题整理: 

1.解决SSH登陆缓慢问题

        (1)编辑/etc/ssh/sshd_config配置文件,将UseDNS修改为no,最好是在尾部添加一行为:UseDNS no

        (2)关闭GSSAPI认证:GSSAPIAuthentication no,修改完成后记得重启ssh服务。

[root@Jenkins ~]# vim /etc/ssh/sshd_config
...
79 GSSAPIAuthentication yes
...
115 #UseDNS yes
...

 2.解决SSH无法登陆问题

         一般情况下当ssh服务远程连接不上时,后台登陆服务器,先确认服务器网络有无问题,查一下ssh服务有没有正常运行,防火墙是否放行了ssh端口,检查sshd_config文件配置(注意端口号、是否有地址绑定、是否允许root登陆等);

        如果都没问题,再检查下/etc/hosts.deny 和 /etc/hosts.allow两个配置文件是否有限制登陆。

        /etc/hosts.allow/etc/hosts.deny两个配置文件:

        有时候服务器上会用这两个文件限制登陆的IP,通常是在/etc/hosts.deny文件中里面先deny all,然后在/etc/hosts.allow文件中添加需要登陆的IP地址;例如:

        先禁止所有:

[root@Jenkins ~]# cat /etc/hosts.deny

sshd: ALL : deny 

        再放行允许连接访问的IP地址: 

[root@Jenkins ~]# cat  /etc/hosts.allow

sshd:10.10.10.* : allow      允许10.10.10.0/24网段登陆

sshd: 192.168.1.30 : allow   允许192.168.1.30这个ip登陆

到这,就已经解决了问题。欢迎关注蓝胖胖,咱们一起变强大!!!~~~

参考文章:

https://blog.csdn.net/qq_44895681/article/details/124841145

https://blog.csdn.net/qq_41895003/article/details/105261596

https://blog.csdn.net/xiaoliyi185/article/details/90704812

猜你喜欢

转载自blog.csdn.net/Thebest_jack/article/details/125752058