码迷,mamicode.com
首页 > 其他好文 > 详细

通过ssh隧道实现tcp端口转发

时间:2021-01-18 10:39:46      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:简单   host   SSH隧道   支持   连接   注意   访问   传输   解决   

场景

假设我(主机A)无法直接访问外网主机C,而局域网内另一台主机B可以访问外网主机C。
如何通过从我的主机A透过主机B访问主机C的22端口?

解决

ssh via ssh

最简单的方法是主机A先ssh到主机B然后在主机B执行ssh到主机C

ssh user@123.45.67.8
# in pts of host-B
ssh user@10.0.1.3

方法可行,但缺点是无法使用sftp直接对C传输文件

端口转发

我可以通过ssh隧道进行转口转发,透过A到B的ssh隧道将C的22端口转发到A到2333端口
主机B的ip为123.45.67.8用户为user,主机C的ip为10.0.1.3,以下命令在在主机A执行:

ssh -L 2333:10.0.1.3:22 user@123.45.67.8
# keep session alive
ssh user@127.0.0.1 -p 2333

注意:

  • 此方法要求A到B到ssh隧道保持连接,断开后本地2333端口转发也将消失
  • 此方法不限于对22端口进行转发,支持转发其他tcp服务

通过ssh隧道实现tcp端口转发

标签:简单   host   SSH隧道   支持   连接   注意   访问   传输   解决   

原文地址:https://www.cnblogs.com/azureology/p/14286171.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!