版权声明:感谢您对博文的关注!校招与社招,有需要内推腾讯的可以QQ(1589276509)or 微信(louislvlv)联系我哈,期待您的加入。 https://blog.csdn.net/K346K346/article/details/87374030
ssh有两层含义:
一是SSH(Secure Shell),由 IETF 的网络小组(Network Working Group)所制定的应用层安全外壳协议,用于专为远程登录会话和其他网络服务提供安全性的协议。
二是基于SSH协议实现的远程登录工具。服务端程序为sshd,客户端为ssh命令。
因此ssh的默认端口配置分为服务端与客户端。
1.ssh服务端默认端口配置
(1)登录服务器,打开sshd_config文件。
vi /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 36000
...
ssh服务程序默认监听端口是22,上面保留了22端口,防止因为各种权限和配置问题,导致连22端口不能访问。等一新配置的端口生效,再关闭22端口。
(3)重启ssj服务。
systemctl restart sshd
(4)尝试通过新端口远程登录,或者进入该服务器直接本地访问SSH。
ssh -p36000 [email protected]
如果成功,说明36000已经完全可以使用了,接下来可以根据上述步骤把sshd_config的Port 22注释掉即可。
2.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
即可打开。
参考文献
[1]修改ssh默认端口
[2]ubuntu.ssh
[3]ubuntu.ssh_config