SSH或Secure Shell守护进程是一种网络协议,用于通过安全通道使用强大的加密技术通过不安全的网络对Linux系统执行远程安全登录。
SSH协议最基本的功能之一是能够访问远程Linux机器上的Unix shell并执行命令。 但是,SSH协议可以提供其他的实现,例如通过协议创建安全的TCP隧道,在机器之间远程安全地传输文件或者充当FTP服务。
SSH服务使用的标准端口是22 / TCP 。 但是,您可能需要更改Linux服务器中的SSH默认端口,以便通过默默无闻的方式实现某种安全性,因为标准22 / TCP端口持续针对因特网中的黑客和漫游器造成的漏洞。
要在Linux中更改SSH服务的默认端口,首先需要打开主要的SSH守护进程配置文件,使用您最喜欢的文本编辑器进行编辑,方法是发出以下命令并进行以下更改。
# vi /etc/ssh/sshd_config
在sshd_config文件中,搜索并注释以端口22开头的行,在行前添加(#)
标签。 在这一行下面,添加一个新的端口行并指定您希望的端口来绑定SSH。
在这个例子中,我们将配置SSH服务来绑定和监听端口34627 / TCP 。 确保选择一个随机端口,最好高于1024 (标准知名端口的上限)。 可以为SSH设置的最大端口是65535 / TCP 。
#Port 22 Port 34627
在Linux中更改SSH端口
完成上述更改后,重新启动SSH守护程序以反映更改并发出netstat或ss命令以确认SSH服务监听新TCP端口。
# systemctl restart ssh # netstat -tlpn| grep ssh # ss -tlpn| grep ssh
在基于CentOS或RHEL Linux的发行版中,安装policycoreutils软件包并添加以下规则以放松SELinux策略,以使SSH守护程序绑定到新端口。
# yum install policycoreutils # semanage port -a -t http_port_t -p tcp 34627 # semanage port -m -t http_port_t -p tcp 34627 # systemctl restart sshd # netstat -tlpn| grep ssh # ss -tlpn| grep ssh
验证SSH新端口
此外,不要忘记更新特定于您自己安装的Linux发行版的防火墙规则,以便允许在新添加的SSH端口上建立传入连接。