配置SSH服务远程连接空闲超时退出时间

简介: 配置SSH服务远程连接空闲超时退出时间

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第29天,点击查看活动详情

建议方案

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

加固建议

编辑/etc/ssh/sshd_config
配置文件,将ClientAliveInterval
设置为300到900,即5-15分钟,将ClientAliveCountMax
设置为0。

方法1:

1.修改server端的/etc/ssh/sshd_config配置文件

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

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

[root@Jenkins ~]# vim /etc/ssh/sshd_config
......
112 ClientAliveInterval 60
113 ClientAliveCountMax 3
......


 **2.修改client端的/etc/ssh/ssh_config添加以下:(在没有权限修改server端的SSH配置的情况下)

**

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

ServerAliveCountMax 3
:client发出请求后,服务器端没有响应的次数达到3次,就自动断开连接,正常情况下,server不会不响应。


[root@Nginx ~]# vim /etc/ssh/sshd_config
......
112 ClientAliveInterval 60
113 ClientAliveCountMax 3
......

3.重启sshd服务

systemctl restart sshd

方法2:

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

[root@Jenkins ~]# ssh -o ServerAliveinterval=60 root@192.168.1.33
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## 解决SSH登陆缓慢问题


解决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
...


解决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登陆
相关文章
|
6天前
|
消息中间件 安全 Unix
SSH配置多台服务器之间的免密登陆以及登陆别名
SSH配置多台服务器之间的免密登陆以及登陆别名
18 1
|
20天前
|
网络协议 网络安全
ssh远程连接不上
ssh远程连接不上
12 0
|
2月前
|
安全 Shell 网络安全
【Git】TortoiseGit(小乌龟)配置SSH和使用
【Git】TortoiseGit(小乌龟)配置SSH和使用
135 0
|
1天前
|
网络协议 安全 Shell
配置ssh服务
配置ssh服务
|
9天前
|
Shell 网络安全 开发工具
配置SSH时候,Permission denied问题解决方法
配置SSH时候,Permission denied问题解决方法
24 4
|
1月前
|
安全 Shell 网络安全
ssh配置无密码验证
ssh配置无密码验证要在SSH中配置无密码验证,您需要使用公钥验证【2月更文挑战第18天】
37 1
|
1月前
|
Shell 网络安全 数据安全/隐私保护
配置多个SSH公钥流程
配置多个SSH公钥流程
|
1月前
|
网络协议 Ubuntu Linux
「远程开发」VSCode使用SSH远程linux服务器 - 公网远程连接
「远程开发」VSCode使用SSH远程linux服务器 - 公网远程连接
111 0
|
网络安全