通过键入以下命令找到sshd_config文件
$ find / -name "sshd_config" 2>/dev/null
样本输出:
/etc/ssh/sshd_config
find命令尝试找到名为sshd_config的sshd服务器配置文件。我添加了 2>/dev/null 最后到 隐藏查找命令权限被拒绝的消息警告/垃圾邮件.
编辑文件并设置端口选项
键入以下命令:$ sudo vi /etc/ssh/sshd_config
找到如下所示的行:港口 22
要么#Port 22
要将端口设置为2222,请输入:港口 2222
保存并关闭文件。
cat /etc/services
less /etc/services
more /etc/services
grep -w '22/tcp' /etc/services
grep SSH协议 /etc/services
grep -w '80/tcp' /etc/services
egrep -w '(80|443|110|53)/tcp' /etc/services

关于SELinux用户的注释
你必须 键入以下命令将端口更改为2222:# semanage port -a -t ssh_port_t -p tcp 2222
在Linux中更新防火墙以接受ssh端口2222
如果你是 在Ubuntu / Debian 的Linux上使用UFW,输入:$ sudo ufw allow 2222/tcp
iptables的语法如下$ sudo /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT
pf防火墙的语法在pf.conf中如下(FreeBSD / OpenBSD / NetBSD Unix):pass log on $ext_if proto tcp to any port 2222 keep state
要打开新端口,请在Fedora / CentOS /上运行以下命令RHEL/ Oracle 的Linux使用FirewallD$ sudo firewall-cmd --permanent --zone=public --add-port=2222/tcp
$ sudo firewall-cmd --reload
警告:您必须更新防火墙设置以接受新端口。否则,以下命令将锁定您的ssh访问。
重新启动sshd服务
在CentOS / RHEL / Fedora 的Linux上键入以下命令:$ sudo service sshd restart
或者,如果您将CentOS / RHEL / Fedora 的Linux与systemd一起使用:$ sudo systemctl restart sshd
或者,如果您使用的是Ubuntu / Debian / Mint 的Linux:$ sudo service ssh restart
或者,如果您将Ubuntu / Debian / Mint 的Linux与systemd一起使用:$ sudo systemctl restart ssh
或者,如果您使用的是FreeBSD Unix,请输入:$ sudo service sshd restart
如何验证TCP端口2222是否已打开
使用netstat命令或ss命令:ss -tulpn | grep 2222
netstat -tulpn | grep 2222
如何通过命令行使用新的SSH端口
语法为:ssh -p {port} [email protected]
sftp -P {port} openssh-server
scp -P {port} source target
scp -P {port} /path/to/foo [email protected]:/dest/
例如:ssh -p 2222 [email protected]