【Linux】循序渐进学运维-服务篇-ssh配置文件详解

大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第4篇文章

文章目录

        • 前言
        • 配置文件的路径
        • 配置文件详解
          • 1. 修改默认端口
          • 2. ListenAddress 0.0.0.0
          • 3. LoginGraceTime 2m
          • 4. PermitRootLogin yes 允许root登录
          • 5. PubkeyAuthentication yes 密码验证
          • 6. PermitEmptyPasswords no 是否允许空密码登录
          • 7. UsePAM yes
          • 8. PrintMotd yes
          • 9. PrintLastLog yes
          • 5. SyslogFacility AUTHPRIV
        • 重要说明

前言

上篇文章,我们一起探讨了ssh的安装及远程登录的方法,要想学好一个服务,配置文件必须要勤加研究,今天我们一起来聊聊ssh的配置文件

如果你还没有探究过ssh的基础知识,请点击链接:

【Linux】循序渐进学运维-服务篇-ssh服务入门

配置文件的路径

ssh的配置文件路径:

[root@gaosh-64 ~]# ls /etc/ssh/sshd_config 
/etc/ssh/sshd_config

配置文件详解

1. 修改默认端口
#Port 22
改为
Port 8888

修改完配置文件需要重新启动

[root@gaosh-64 ~]# systemctl restart sshd

使用nmap查看端口

【Linux】循序渐进学运维-服务篇-ssh配置文件详解_第1张图片

此时如果要远程登录,需要加-p 参数

[root@gaosh-64 ~]# ssh 192.168.1.64 -p 8888   ### -p后面跟端口号
The authenticity of host '[192.168.1.64]:8888 ([192.168.1.64]:8888)' can't be established.
ECDSA key fingerprint is SHA256:dx4/4h2rPUAzmdBpIqwRt6+LM6idqWBuA7Suw4Fiu4A.
ECDSA key fingerprint is MD5:a6:e7:16:fb:0c:8d:06:63:14:62:a4:f1:c5:16:00:bc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.1.64]:8888' (ECDSA) to the list of known hosts.
[email protected]'s password: 
Last failed login: Tue Jul 14 08:52:30 CST 2020 from 192.168.1.64 on ssh:notty
There were 2 failed login attempts since the last successful login.
Last login: Mon Jul 13 23:09:06 2020 from 192.168.1.22

也可以用之前学过的netstat来查看端口号
在这里插入图片描述

2. ListenAddress 0.0.0.0

设置SSHD服务器绑定的IP 地址,0.0.0.0 表示侦听所有地址
安全建议:如果主机不需要从公网ssh访问,可以把监听地址改为内网地址
比如: ListenAddress 192.168.1.0

3. LoginGraceTime 2m

当使用者连上 SSH server 之后,会出现输入密码的画面,在该画面中在多久时间内没有成功连上SSH server 就强迫断线!若无单位则默认时间为秒!

LoginGraceTime 10   #10秒钟后断开

测试,10秒钟之后连接断开,没有在输入密码的机会。
【Linux】循序渐进学运维-服务篇-ssh配置文件详解_第2张图片

4. PermitRootLogin yes 允许root登录

是否允许 root 登入,默认是允许的,但是建议设定成 no,真实的生产环境服务器,是不允许root账号直接登陆的,仅允许普通用户登录,需要用到root用户再切换到root用户。

5. PubkeyAuthentication yes 密码验证

密码验证当然是需要的!所以这里写 yes,也可以设置为no,在真实的生产服务器上,根据不同安全级别要求,有的是设置不需要密码登陆的,通过认证的秘钥来登陆。

6. PermitEmptyPasswords no 是否允许空密码登录

是否允许空密码的用户登录,默认为no,不允许空密码登录。

7. UsePAM yes

一般来说,为了要判断客户端来源是正常合法的,因此会使用 DNS 去反查客户端的主机名
不过如果是在内网互连,这项目设定为 no 会让联机速度比较快。

8. PrintMotd yes

登录后显示一些默认信息,如上次登录时间,地点,等等。 一般默认是yes
我们也可以设置打印/etc/motd里的内容

[root@gaosh-64 ~]# cat /etc/motd
你已进入监控区域,所有的操作都将作为对薄公堂的证据!

登录系统的时候,会显示/etc/motd里的内容
【Linux】循序渐进学运维-服务篇-ssh配置文件详解_第3张图片

9. PrintLastLog yes

在8里面,当我们输出/etc/motd的内容的时候,他其实也默认显示上次登录信息,而这个上次登录信息就是由#PrintLastLog yes 这个参数控制, 默认为yes,如果你改为no

【Linux】循序渐进学运维-服务篇-ssh配置文件详解_第4张图片
再来测试一下:
在这里插入图片描述
可以看到没有显示登录信息。

5. SyslogFacility AUTHPRIV

当有人使用 SSH 登入系统的时候,SSH 会记录信息,这个信息要记录的类型为AUTHPRIV,sshd服务日志存放在:/var/log/secure。

重要说明

  • 一般情况下,ssh配置文件默认的设置,就已经是比较严谨的SSH保护了,如非必要,不要修改默认值。最多改个端口。

  • 每次修改完之后,注意重启服务,确保修改的配置生效

我是高胜寒,一个在教培行业不忘初心的人,欢迎留言与我交流,我们下篇文章再见。

你可能感兴趣的:(#,循序渐进学运维-服务篇,ssh,ssh配置文件)