这是我参与更文挑战的第14天, 活动详情查看:更文挑战
前言
ssh服务是我们在公司用的最多的服务,日常工作中,我们需要使用ssh服务去远程登录服务器,管理服务器。 我们使用xshell等类似的工具,在windwos上既可以远程管理Linux服务器。
一般情况下,linux操作系统默认就带着ssh服务,我们只需要知道ip,设置好密码,远程连接即可。
IP+端口号+密码+用户名=登陆系统
配置文件的路径
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查看端口
此时如果要远程登录,需要加-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来查看端口号
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秒钟之后连接断开,没有在输入密码的机会。
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里的内容
9. PrintLastLog yes
在8里面,当我们输出/etc/motd的内容的时候,他其实也默认显示上次登录信息,而这个上次登录信息就是由#PrintLastLog yes 这个参数控制, 默认为yes,如果你改为no
再来测试一下:
可以看到没有显示登录信息。
5. SyslogFacility AUTHPRIV
当有人使用 SSH 登入系统的时候,SSH 会记录信息,这个信息要记录的类型为AUTHPRIV,sshd服务日志存放在:/var/log/secure。
重要说明
-
一般情况下,ssh配置文件默认的设置,就已经是比较严谨的SSH保护了,如非必要,不要修改默认值。最多改个端口。
-
每次修改完之后,注意重启服务,确保修改的配置生效
总结
关于ssh服务里的参数还有很多,今天我们介绍到这里,后续在使用的过程中,遇到了新的我们在介绍新的。