You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何修改SSH默认连接端口?本地设置默认2222端口替代22的方法

SSH端口配置常见问题解答

1. 能否修改SSH的默认连接端口?

当然可以!修改服务器端的SSH默认端口(从22改为其他值)是很常见的安全优化操作,具体步骤如下:

  • 编辑SSH服务配置文件:打开/etc/ssh/sshd_config(主流Linux发行版路径基本一致),找到#Port 22这一行,去掉注释符号#,将22替换为你想要的端口(比如2222)。
  • 重启SSH服务:根据系统类型执行对应命令:
    • Debian/Ubuntu:sudo systemctl restart sshd
    • RHEL/CentOS:sudo systemctl restart sshd
    • 老版本SysVinit系统:sudo service ssh restart
  • 开放防火墙端口:别忘给新端口放行,比如用ufw的话:sudo ufw allow 2222/tcp;用firewalld的话:sudo firewall-cmd --add-port=2222/tcp --permanent && sudo firewall-cmd --reload
  • 测试验证:先不要断开当前SSH连接,新开终端用新端口测试连接,确认能正常访问后再关闭旧连接,避免被锁在服务器外。

2. 本地设置SSH默认端口为2222,无需每次加-p参数

完全可以通过修改本地SSH配置实现,这样输入ssh root@ip就会默认用2222端口,需要连接22端口的服务器时再单独指定即可。

方法一:用户级配置(仅当前用户生效)

  • 如果主目录下没有.ssh文件夹,先创建:mkdir -p ~/.ssh,接着创建配置文件:touch ~/.ssh/config
  • 编辑~/.ssh/config,添加以下内容:
    Host *
        Port 2222
    
    Host *表示对所有远程主机生效,默认端口设为2222。
  • 设置正确的文件权限(SSH对权限要求严格,否则会报错):chmod 600 ~/.ssh/config

方法二:全局配置(所有用户生效)

  • 编辑/etc/ssh/ssh_config(注意是ssh_config,不是服务器端的sshd_config),找到#Port 22一行,去掉注释并修改为Port 2222
  • 保存后,所有用户执行ssh命令都会默认使用2222端口。

特殊场景:连接22端口的服务器

如果需要连接默认22端口的服务器,有两种便捷方式:

  • 临时指定端口:ssh root@ip -p 22
  • 在本地配置文件中单独添加该主机规则,比如:
    Host old-server
        HostName 192.168.1.100
        Port 22
        User root
    
    之后直接输入ssh old-server就能快速连接这台服务器。

内容的提问来源于stack exchange,提问作者Lucas César

火山引擎 最新活动