SSH隧道 实现内网访问

设想这样一个场景:在外网中你可以访问内网的一台机器A,内网中还有另一台机器B,但机器B是无法从外网访问到的,这时候你想访问机器B,那要怎么办呢?SSH隧道 就可以派上用场。只需要能够用SSH访问机器A,通过 SSH隧道 转发,实现外网访问机器B的目的。

我已经用Python写了一个很简单的GUI,只需要设置好SSH密匙、机器A的IP和用户名即可,无需获取机器A的root权限。

Github地址:https://github.com/senfu/sshproxyer

简洁(陋)的界面

原理其实很简单,最核心的就是这句命令:

ssh -vfND localhost:2080 USER@HOST -o ServerAliveInterval=30 -i id_rsa

-v:显示详细连接信息。

-f:ssh连接成功后自动转入后台。

-N:不执行远程命令,只做端口转发。

-D:开启 socks5 代理,这里设置成监听本地的2080端口。

-o ServerAliveInterval=30:保持连接一直有效

-i id_rsa:使用密匙登录,这样就不需要输入登录密码了。要记得将私钥文件id_rsa放在指定的位置。

通过SSH你实际上就是可以进入内网了,之后就是用sysproxy开启系统代理,用v2ray做http转发。全程都是自动的,点击开启即可。

GUI用tkinter做的,目前只考虑了Windows平台,其他平台替换掉ssh、sysproxy和v2ray应该也是可以用的。欢迎大家来star和提问哦~~~

这篇文章有 11 个评论

  1. Name
  2. film izle

    Thanks a lot for the article.Thanks Again. Sebrina Kossin

  3. film

    “Hey, thanks for the blog.Thanks Again. Really Cool.” Dallas Lardieri

  4. 4k film izle

    Im thankful for the blog post. Much obliged. Kali Samaniego

  5. yenilmezler

    Hi there colleagues, pleasant paragraph and good arguments commented here, I am really enjoying by these. Kyla Hailey Peggir

  6. 第 匿名页

    给劲,鱼哥 nb

发表评论