ssh反向连接和简单实现
来源:互联网 发布:java统计字符出现次数 编辑:程序博客网 时间:2024/06/08 02:31
SSH反向连接的使用
1、什么是反向连接?
反向连接是指主机A(受控端)主动连接主机B(控制端),在主机A和主机B之间建立一个远程连接,通过这个连接主机B可以主动的向主机A发送一些请求。
2、为什么需要主机A主动去连接主机B呢?
这是因为主机A在局域网内,如果没有对主机A进行端口映射,对于主机B来说主机A是不可见的,如果在主机B这边向主机A发送连接请求,这个请求是不可达的。而主机B有自己独立的IP,对于主机A来说是可见的,可以直接向主机B请求连接。
3、SSH反向连接的过程
方法就是主机A主动去连接主机B,主机B响应主机A的连接请求,它们之间就建立了一个远程连接。然后主机B在本地再创建一个本地连接,重定向到主机A和主机B刚才建立的远程连接上,之后对这个本地连接的操作都会反馈到远程连接上去。整个过程类似于文件的DUP,这就在主机A和主机B之间建立了连接通道,此时对于主机B来说,主机A已经是可见了。
连接流程如下:
3.1、主机A ssh客户端向主机B sshd服务端发送请求,建立远程连接。
3.2、主机B sshd服务端创建本地连接很远程连接的映射(反向连接通道)。
3.3、主机B ssh客户端向主机B sshd服务端的连接通道发送请求, 建立主机B ssh和主机A sshd的连接。
完成连接后,主机A对于主机B可见的形式就是存在于主机B的那个本地连接。
4、为什么需要在主机B对远程连接映射一个本地连接?
反向连接就是CS架构,不过是受控端主动向控制端请求连接,让它们之间的连接建立。传统的CS方式是可以解决主机A和主机B之间的连接问题,但是那样主机A和主机B的连接方式并不灵活,两者之间能做的事情,只能是CS之际协议规定的事情。在主机B上建立了主机A连接映射后, 对于主机B来说主机A已经不是局域网内那台不可见的主机,主机A已经是存在主机B的一台可见主机,这样就消除了局域网和广域网的阻碍。 主机A和主机B之间建立的那个远程连接就是主机A和主机B的通道-“网线”。
5、SSH反向连接的使用
要建立反向连接,首先在主机A上运行:
ssh -f -N -R 10000:localhost:22 lyb@3322.org
10000是主机B上的本地连接端口, 22是主机B上远程连接的那个端口, lyb@3322.org是主机B的地址连接上后,会需要输入密码。连接成功后,SSH反向连接就建立起来了。要连接到主机A,在主机B上运行:
ssh lyb@localhost -p 10000
使用的过程中碰到一个问题, 就是在主机A上发起请求的时候, 需要输入密码。 如果我在家里, 不可能跑到公司了去输入密码。于是用ssh public key的方法和写一个脚本来解决。脚本如下:
#!/bin/bash
while true;do
RET=`ps ax | grep "ssh -f -N -R 10000:localhost:22" | grep -v "grep"`
if [ "$RET" = "" ]; then
echo "restart ssh server"
ssh -f -N -R 10000:localhost:22 lyb@hahalee.3322.org
fi
sleep 10
done
脚本的作用就是监控反向连接的服务, 在被异常中断的时候重启, 使用了SSH公钥后, 也不必跑到公司输入密码了。
原文地址: http://c20031776.blog.163.com/blog/static/68471625201121115051135/
- ssh反向连接和简单实现
- ssh反向连接和简单实现
- ssh反向连接和简单实现 转http://www.broncho.cn/forum/viewtopic.php?p=1116
- SSH的正向连接和反向连接
- linux通过ssh实现反向连接
- SSH反向连接
- ssh反向连接
- ssh反向连接
- SSH以及反向连接
- SSH反向连接
- ssh无密码登录和autossh实现反向ssh
- ssh无密码登录和autossh实现反向ssh
- SSH反向连接及Autossh 实现外网访问内网树莓派
- SSH反向连接及Autossh
- SSH反向连接及Autossh
- SSH反向连接及Autossh
- SSH反向连接及Autossh
- SSH反向连接及Autossh
- 7.1.12 a是变量,执行(a++)+=a;是否合法
- 实现拍照本地上传在GridView中显示
- 回复大姐夫哥几个开会开会公开
- 【数值分析】常微分方程数值解:欧拉公式
- cocos2d 纹理加载机制
- ssh反向连接和简单实现
- 【数值分析】微分求积:复化梯形、复化辛浦生
- 解决Git出现rpc failed 问题
- 自然图像抠图/视频抠像技术发展情况梳理
- OCP 1Z0 053 265
- cocos2d lua集成XML教程
- ARM 汇编命令参考AREA
- UIButton使用详解
- 【数值分析】插值法:拉格朗日插值、牛顿插值