1. 修改ssh端口号
一般ssh的默认端口为22
比如正常使用终端登录局域网电脑
ssh root@192.168.0.115
1.1 修改sshd配置
注意是 sshd_config 文件
$ vim /etc/ssh/sshd_config
在#Port 22行去掉#号注释,同时加入想要使用的端口号如 Port 22438

效果图
这里保留22端口是为了防止当前无法使用ssh登录
1.2 修改防火墙配置
$ firewall-cmd --zone=public --add-port=22438/tcp --permanent
成功返回success
重启防火墙:
$ firewall-cmd --reload
成功返回success
查看添加端口是否成功,成功则显示yes,否则为no:
$ firewall-cmd --zone=public --query-port=22438/tcp
1.3 修改SELinux
查看本机SELinux状态,如果是关闭则可以跳过此步骤
$ sestatus
以下使用semanage操作,没有可以使用以下命令安装:
$ yum install policycoreutils-python.x86_64
以下命令为查看当前SELinux允许的ssh端口:
$ semanage port -l | grep ssh

查看状态
添加22438端口到SELinux,并确认
$ semanage port -a -t ssh_port_t -p tcp 22438
$ semanage port -l | grep ssh

1.4 重启ssh服务
$ systemctl restart sshd.service
测试新端口ssh连接
$ ssh -p 22438 root@192.168.0.115
可以正常登录即成功
1.5 关闭22端口
$ vim /etc/ssh/sshd_config
将之前开放的Port 22一行注释掉并保存

然后重启ssh
$ systemctl restart sshd.service
使用以下命令无法登录服务器
$ ssh root@192.168.0.115
2. ssh免密码登录
2.1 在本机生成公钥
本机终端输入:
$ ssh-keygen -t rsa
配置相关全部直接回车
在~/.ssh/目录下生成两个文件
id_rsa : 私钥
id_rsa.pub : 公钥
2.2 导入公钥到认证文件
在本机终端输入:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
2.3 导入要免密码登录的服务器
在本机将认证文件复制到服务器
$ scp -P 22438 ~/.ssh/authorized_keys root@192.168.0.115:/root/.ssh/
如果服务器上没有文件夹就新建一个.ssh/文件夹
2.4 在服务器上更改权限
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
Enjoy