温馨提示×

Ubuntu SSH如何配置端口转发

小樊
93
2025-04-11 10:12:29
栏目: 智能运维

在Ubuntu系统中配置SSH端口转发,可以通过以下步骤实现:

临时端口转发(本地端口转发)

  1. 打开终端

  2. 使用以下命令进行本地端口转发:

    ssh -L local_port:destination_host:destination_port user@ssh_server
    
    • local_port 是你希望在本地机器上监听的端口号。
    • destination_host 是目标主机的地址。
    • destination_port 是目标主机上的端口号。
    • user 是SSH服务器上的用户名。
    • ssh_server 是SSH服务器的地址。

    例如,如果你想将本地的端口8080转发到远程服务器example.com的端口80,可以使用以下命令:

    ssh -L 8080:example.com:80 user@ssh_server
    

远程端口转发(远程端口转发)

  1. 打开终端

  2. 使用以下命令进行远程端口转发:

    ssh -R remote_port:destination_host:destination_port user@ssh_server
    
    • remote_port 是你希望在SSH服务器上监听的端口号。
    • destination_host 是目标主机的地址。
    • destination_port 是目标主机上的端口号。
    • user 是SSH服务器上的用户名。
    • ssh_server 是SSH服务器的地址。

    例如,如果你想在SSH服务器上监听端口9090,并将其转发到本地机器的端口80,可以使用以下命令:

    ssh -R 9090:localhost:80 user@ssh_server
    

动态端口转发(SOCKS代理)

  1. 打开终端

  2. 使用以下命令进行动态端口转发:

    ssh -D local_port user@ssh_server
    
    • local_port 是你希望在本地机器上监听的端口号。
    • user 是SSH服务器上的用户名。
    • ssh_server 是SSH服务器的地址。

    例如,如果你想在本地机器上监听端口1080作为SOCKS代理,可以使用以下命令:

    ssh -D 1080 user@ssh_server
    

注意事项

  • 确保SSH服务器允许端口转发。你可以在SSH服务器的配置文件 /etc/ssh/sshd_config 中检查或设置以下选项:

    AllowTcpForwarding yes
    GatewayPorts yes
    

    修改后需要重启SSH服务:

    sudo systemctl restart sshd
    
  • 使用端口转发时,确保防火墙允许相应的端口通信。

通过以上步骤,你可以在Ubuntu系统中配置SSH端口转发,实现本地或远程端口的转发功能。

0