大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-服务篇的第4篇文章
上篇文章,我们一起探讨了ssh的安装及远程登录的方法,要想学好一个服务,配置文件必须要勤加研究,今天我们一起来聊聊ssh的配置文件
如果你还没有探究过ssh的基础知识,请点击链接:
【Linux】循序渐进学运维-服务篇-ssh服务入门
ssh的配置文件路径:
[root@gaosh-64 ~]# ls /etc/ssh/sshd_config /etc/ssh/sshd_config
#Port 22改为 Port 8888
修改完配置文件需要重新启动
[root@gaosh-64 ~]# systemctl restart sshd
使用nmap查看端口
此时如果要远程登录,需要加-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. root@192.168.1.64'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来查看端口号
设置SSHD服务器绑定的IP 地址,0.0.0.0 表示侦听所有地址
安全建议:如果主机不需要从公网ssh访问,可以把监听地址改为内网地址
比如: ListenAddress 192.168.1.0
当使用者连上 SSH server 之后,会出现输入密码的画面,在该画面中在多久时间内没有成功连上SSH server 就强迫断线!若无单位则默认时间为秒!
LoginGraceTime 10 #10秒钟后断开
测试,10秒钟之后连接断开,没有在输入密码的机会。
是否允许 root 登入,默认是允许的,但是建议设定成 no,真实的生产环境服务器,是不允许root账号直接登陆的,仅允许普通用户登录,需要用到root用户再切换到root用户。
密码验证当然是需要的!所以这里写 yes,也可以设置为no,在真实的生产服务器上,根据不同安全级别要求,有的是设置不需要密码登陆的,通过认证的秘钥来登陆。
是否允许空密码的用户登录,默认为no,不允许空密码登录。
一般来说,为了要判断客户端来源是正常合法的,因此会使用 DNS 去反查客户端的主机名
不过如果是在内网互连,这项目设定为 no 会让联机速度比较快。
登录后显示一些默认信息,如上次登录时间,地点,等等。 一般默认是yes
我们也可以设置打印/etc/motd里的内容
[root@gaosh-64 ~]# cat /etc/motd你已进入监控区域,所有的操作都将作为对薄公堂的证据!
登录系统的时候,会显示/etc/motd里的内容
在8里面,当我们输出/etc/motd的内容的时候,他其实也默认显示上次登录信息,而这个上次登录信息就是由#PrintLastLog yes 这个参数控制, 默认为yes,如果你改为no
再来测试一下:
可以看到没有显示登录信息。
当有人使用 SSH 登入系统的时候,SSH 会记录信息,这个信息要记录的类型为AUTHPRIV,sshd服务日志存放在:/var/log/secure。
一般情况下,ssh配置文件默认的设置,就已经是比较严谨的SSH保护了,如非必要,不要修改默认值。最多改个端口。
每次修改完之后,注意重启服务,确保修改的配置生效
我是高胜寒,一个在教培行业不忘初心的人,欢迎留言与我交流,我们下篇文章再见。