修改ssh默认端口
1 . 登录服务器,打开sshd_config
文件
vim /etc/ssh/sshd_config
2 . 找到#Port 22
,默认是注释掉的,先把前面的#
号去掉,再插入一行设置成你想要的端口号,注意不要跟现有端口号重复
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
Port 22
Port 10022
SSH默认监听端口是22,如果你不强制说明别的端口,”Port 22”注不注释都是开放22访问端口。上面我保留了22端口,防止之后因为各种权限和配置问题,导致连22端口都不能访问了,那就尴尬了。等一切都ok了,再关闭22端口。
Ok,继续,我增加了10022端口,大家修改端口时候最好挑10000~65535之间的端口号,10000以下容易被系统或一些特殊软件占用,或是以后新应用准备占用该端口的时候,却被你先占用了,导致软件无法运行。
3 . 重启SSH服务,最好也重启下服务器
systemctl restart sshd
如果没有systemctl的话可以执行:/etc/init.d/sshd restart 或 /etc/init.d/ssh restart
如果没有报错的话就生效了,可以 ss -ntl 或 netstat -ntl 查看一下端口。
4 . 尝试通过10022端口登录SSH,或者进入该服务器直接本地访问SSH如下:
[root@centos7 ~]#ssh root@localhost -p 10022
如果成功,说明10022已经完全可以使用了,接下来你就可以根据上述步骤把sshd_config
的Port22
注释掉就OK了,大工造成!
ssh获取配置数据的顺序
ssh 可以从用户级配置文件和系统级配置文件中获取更多的配置数据,这样我们可以在使用ssh时省掉很多繁杂的命令选项。使用ssh命令进行远程登录时,实际上可以不使用-p选项显示指明端口,我们可以通过配置文件的方式来设置ssh命令默认端口。实际上ssh获取配置数据会以下面的顺序进行:
1.command-line options
2.user's configuration file (~/.ssh/config)
3.system-wide configuration file (/etc/ssh/ssh_config)
因此更改配置文件·~/.ssh/config·或·/etc/ssh/ssh_config·的Port选项即可。·
Port 36000
关于ssh客户端配置文件的内容说明,具体参见ssh_config(5)
,使用命令man 5 ssh_config
即可打开。