论坛

通知事项
全部清除

将Linux上的ssh端口从22更改为2222  


太极
帖子:83
主持人
(@太极)
会员
已加入:8个月前

通过键入以下命令找到sshd_config文件

$ find / -name "sshd_config" 2>/dev/null
样本输出:

/etc/ssh/sshd_config

find命令尝试找到名为sshd_config的sshd服务器配置文件。我添加了 2&gt/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

如何在Linux中更改SSH端口
在Linux中查看或选择新的SSH端口号

关于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]

主题标签
分享: