阿里云Linux_SSH简单安全设置

云服务器Linux下修改SSH连接端口/空闲退出

设置原因
1、降低未授权用户访问其他用户ssh会话的风险
2、防止多用户同时登录对文件修改编辑

1、登录服务器

(1)、阿里云服务器需要在页面上设置开放访问端口,此时需要添加默认的22端口。
配置位置:在【实例与镜像】–【实例】下,选中自己的实例,在基本信息类点击【配置安全组规则】进行设置。
(2)、其他厂商的云服务器参考对应的官方指导文档(可能不用设置)
(3)、使用远程连接工具,通过账号root+密码登录。(例如Xshell等)

2、修改ssh配置文件中的默认端口

修改 /etc/ssh/sshd_config 配置文件,命令行输入:vim /etc/ssh/sshd_config,页面中找到如下配置信息:

# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

SSH默认端口是22,如果不强制说明其它端口,Port 22注不注释都是开放22端口,因此只要在此添加自定义端口后保存。

#Port 22 # 此处去掉注释是防止之后因为各种权限和配置问题,导致连22端口都不能访问了,那就尴尬了。(血泪教训)
Port 22
Port 自定义端口号 #这里写你想要的端口,例如3022

[注] 此处修改端口的目的主要是放置ssh暴力破解(默认端口容易被攻击)

3、防火墙开放自定义端口号

(1)、阿里云服务器开放刚刚的自定义的端口,在【配置安全组规则】里配置。
(2)、开放Linux防火墙端口,CentOS系统自7.0开始默认防火墙软件是firewall。(新添的服务器里一般都没有启动)
firewall-cmd --zone=public --add-port=端口号/tcp --permanent
[注意]:permanent代表防火墙对该端口永久开放,没有该字段重启防火墙该端口失效
(2-1)、防火墙重启服务
systemctl restart firewalld
(2-2)、查看生效端口号(这里显示开放端口列表)
firewall-cmd --list-port
关于CentOS系统的firewall防火墙相关配置,见我的博客–CentOS 7.5防火墙firewall
(https://blog.csdn.net/rao991207823/article/details/109431627)

4、重启ssh服务

[注] 要确保防火墙&控制台安全组开放新端口前提下再重启ssh服务
systemctl restart sshd.service

  • 服务器本地尝试用新端口号登录ssh
    ssh root@localhost -p 端口号

[报错] “Job for sshd.service failed because the control process exited with error code. See “systemctl status sshd.service” and “journalctl -xe” for details”的解决方法:
(1)执行命令:systemctl status ssh.service找到提示位置,例如:
Process: 19295 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=255)
(2)执行提示命令:/usr/sbin/sshd -D查看错误说明然后处理,例如:

[root@iZbp1bl327dijlqox14q5gZ ~]# /usr/sbin/sshd -D
/etc/ssh/sshd_config: line 18: Bad configuration option: Post
/etc/ssh/sshd_config: terminating, 1 bad configuration options
  • 退出连接重新通过新的开放端口接入

5、设置连接时长,超时断开

编辑/etc/ssh/sshd_config,将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3之间。
阿里云Linux服务器默认设置为:

ClientAliveInterval 600
ClientAliveCountMax 3

这里调整为空闲时间300秒,同时检查超时重试为5。

# ClientAliveInterval 600 ## 默认空闲时间
# ClientAliveCountMax 3   ## 默认重试次数最大值
ClientAliveInterval 300
ClientAliveCountMax 5

[注] 这里设置空闲超时,主要是为了让出不活跃的资源。

猜你喜欢

转载自blog.csdn.net/rao991207823/article/details/114060165