0.1、实验环境系统为Centos 7.4系统,最小化安装后未做任何配置
1.1、确保SELinux处于关闭状态
[root@imzcy ~]# setenforce 0
[root@imzcy ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
1.2、编辑sshd_config配置文件,修改默认端口(17行左右)。并重启sshd服务使配置生效
[root@imzcy ~]# grep ^Port /etc/ssh/sshd_config
Port 10022
[root@imzcy ~]# systemctl restart sshd
1.3、firewalld防火墙添加规则,放行tcp/10022端口
#添加防火墙规则
[root@imzcy ~]# firewall-cmd --permanent --zone=public --add-port=10022/tcp
[root@imzcy ~]# firewall-cmd --reload
#确认配置
[root@imzcy ~]# firewall-cmd --list-all |grep 10022
ports: 10022/tcp
这时候就可以使用10022端口连接ssh服务器了。
可能遇到的问题:
如果修改完ssh端口号,重启sshd服务报错,然后注释掉之前的更改就能正常重启,请使用getenforce命令检查下selinux状态是否为关闭
#2.1、修改sshd_config配置文件(38行左右)
[root@imzcy ~]# grep ^PermitRootLogin /etc/ssh/sshd_config
PermitRootLogin no
[root@imzcy ~]#
#2.2、重启sshd服务,使配置立即生效
[root@imzcy ~]# systemctl restart sshd
#编辑hosts.allow配置文件,追加一行内容
[root@imzcy ~]# echo "sshd:192.168.43.226:allow" >>/etc/hosts.allow
#编辑hosts.deny配置文件,追加一行内容
[root@imzcy ~]# echo "sshd:ALL" >>/etc/hosts.deny
这里只写了一种方法,还可以通过修改sshd_config配置文件来限制源IP,也可以使用firewalld来限制源IP
#修改sshd_config配置文件,允许zcy用户ssh访问服务器(以空格分开用户;添加完允许,默认拒绝其他所有用户)
[root@imzcy ~]# echo "AllowUsers zcy" >>/etc/ssh/sshd_config
#重启sshd服务,使配置立即生效
[root@imzcy ~]# systemctl restart sshd
#5.1、查看sshd位置
[root@imzcy ~]# whereis sshd
sshd: /usr/sbin/sshd /usr/share/man/man8/sshd.8.gz
#5.2、查看SSH版本
[root@imzcy ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
#5.3、查看sshd程序关于版本的信息
[root@imzcy ~]# strings /usr/sbin/sshd |grep OpenSSH_7.4
OpenSSH_7.4p1-RHEL7-7.4p1-11
OpenSSH_7.4
OpenSSH_7.4p1
#5.4、使用sed替换版本(记得一定要先备份下)
[root@imzcy ~]# cp -p /usr/sbin/sshd ./
[root@imzcy ~]# sed -i 's/OpenSSH_7.4/OpenSSH_2.3/g' /usr/sbin/sshd
#5.5、重启下sshd服务,没有报错即可
[root@imzcy ~]# systemctl restart sshd
再使用telnet连接ssh端口,显示的版本则为:SSH-2.0-OpenSSH_2.3