通过 SSH 隧道实现访问内网机器

适用场景:本地无法直接 ssh 到内网机器,如果内网机器可以访问公网,就可以通过公网的机器打通 ssh 隧道进行访问

假设 IP 信息如下:

  1. 内网机器:172.16.0.1
  2. 公网机器:1.2.3.4

首先需要确认公网机器的 ssh 配置允许反向隧道

1
2
cat /etc/ssh/sshd_config | grep GatewayPorts
GatewayPorts yes

在内网机器上,与公网机器进行隧道打通,这里的 ssh 认证使用公网机器的用户名密码

1
2
3
# -N 表示不执行远程命令,仅用于转发端口
# -R 用于设置反向隧道,本示例中会将公网机器的 2222 端口转发到内网机器的 22 端口
ssh -N -R 2222:0.0.0.0:22 root@1.2.3.4

然后在本地,ssh 到公网机器的 2222 端口即可,这里的 ssh 认证使用内网机器的用户名密码

1
ssh root@1.2.3.4 -p 2222
Author

Warner Chen

Posted on

2024-09-26

Updated on

2024-09-26

Licensed under

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

Comments

You forgot to set the shortname for Disqus. Please set it in _config.yml.