如何在 Google Compute Engine 上释放端口 22

How to free up port 22 on Google Compute Engine

在 Google Compute Engine 中,我想将端口 22 用于 SFTP,但我不能,因为 VM 说此端口上有 sshd 运行。有什么方法可以将 sshd 使用的端口更改为另一个端口,以便释放 22?

我试图查看:How to change sshd port on google cloud instance?,但没有帮助,执行后 sshd 的端口仍然是 22:

sudo netstat -pna | grep 22

输出为:

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      53151/sshd    

tcp6       0      0 :::22                   :::*                    LISTEN      53151/sshd   

感谢您的宝贵时间!

您可以按照以下步骤更改 SSH 端口 22:

  1. 以根用户身份登录服务器
  2. 用文本编辑器vi打开SSH配置文件sshd_config:vi /etc/ssh/sshd_config.
  3. 搜索条目端口 22。
  4. 将端口 22 替换为介于 1024 和 65536 之间的端口。
  5. semanage port -a -t ssh_port_t -p tcp New-SSH-Port
  6. 管理端口-l | grep ssh
ssh_port_t                     tcp      2222, 22
  1. systemctl 重启 sshd
  2. 网络统计-pna | grep 2222
tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN      1525/sshd           
tcp        0      0 10.128.0.33:2222        35.235.241.19:63372     ESTABLISHED 1413/sshd: mdmahboo 
tcp6       0      0 :::2222                 :::*                    LISTEN      1525/sshd       
  1. systemctl 状态 sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2021-02-21 02:46:55 UTC; 46s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 1525 (sshd)
   CGroup: /system.slice/sshd.service
           └─1525 /usr/sbin/sshd -D

Feb 21 02:46:55 cenos-1 systemd[1]: Stopped OpenSSH server daemon.
Feb 21 02:46:55 cenos-1 systemd[1]: Starting OpenSSH server daemon...
Feb 21 02:46:55 cenos-1 sshd[1525]: Server listening on 0.0.0.0 port 2222.
Feb 21 02:46:55 cenos-1 sshd[1525]: Server listening on :: port 2222.
Feb 21 02:46:55 cenos-1 systemd[1]: Started OpenSSH server daemon.    
  1. 在 GCP 防火墙中为端口 2222 添加防火墙条目

现在,在防火墙规则中允许端口作为入口后,您将能够使用自定义端口号登录 VM。