ssh隧道 学习总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh隧道 学习总结相关的知识,希望对你有一定的参考价值。

SSH本地端口转发
个人理解就是端口转发,将TCP端口的网络数据通过ssh连接转发。并提供相应的加密和解密服务。主要用于目标服务器
因防火墙或者别的原因无法直接访问,只能由于同一个局域网内的机器访问,这个时候就需要端口转发了!
原理
主机A要访问主机C,但是应为防火墙无法访问,这个时候我们链接内部的B服务器,通过B链接C服务器,B就是一个跳板机
本地端口转发(实验环境)
A主机 192.168.4.7
B主机 192.168.4.72
C主机 192.168.4.189
技术分享图片

ssh -L 2222:192.168.4.109:22 -Nf 192.168.4.72
 ![](http://i2.51cto.com/images/blog/201810/28/09216cc6ef1e7f03e6f1bc3f60e2fd60.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
-L 本地端口(建议大于2000)
-f 后台启用
-N 不打开远程shell 处于远程等待状态
192.168.4.9:22 不一定是22端口,看需求可以是任何端口
ps -aux |grep ssh  (可以查看有没有设置成功)

技术分享图片
ssh –p2222 127.00.1 这时已经成功登陆了 可以 ip 查看IP地址 成功登陆
技术分享图片

ssh 远程端口转发
远端端口转发(假设实验环境)
A主机 192.168.4.130 (家里)
B主机 192.168.4.72 (公司)
C主机 192.168.4.189 (公网)

原理,主机A已经能访问到主机C了,但是想让主机C访问主机A咋办呐?这个时候就需要远程SSH隧道了, 由于公司内部的和自己家里的电脑不在一个网段内无法通信,这个时候端口转发就不能放在本地了,要放在远端的机器上!
命令:ssh -Nf -R 9906:localhost:22 192.168.4.189 //如果没有公钥189的公钥这里要输密码
技术分享图片
在189主机上查看监听的端口启动没有

技术分享图片

在189主机上面已经开了监听端口,连接189主机的9906端口就会被转到家里的的130的主机上面
技术分享图片

以上是关于ssh隧道 学习总结的主要内容,如果未能解决你的问题,请参考以下文章

内网学习笔记 | SSH 隧道使用

内网学习笔记 | SSH 隧道使用

内网学习笔记 | SSH 隧道使用

通过vscode的SSH隧道打开一个Matplotlib图

SSH.Net 隧道

Java中的简单SSH隧道[关闭]