ssh的代理和端口转发机制介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh的代理和端口转发机制介绍相关的知识,希望对你有一定的参考价值。

参考技术A 本文介绍通过ssh建立隧道的三种方式。

ssh的隧道均通过端口转发来实现,包括三种模式:

MobaXterm作为一个良心的终端工具,在其MobaSSHTunnel菜单项可以帮助我们基于图形化的方式建立上述三种隧道,其提供的向导也能帮助我们更有效的理解和记住上面这3个参数。因此本文借用这些向导中的截图来进行说明。

实现功能:把ssh服务器能够访问的ip和端口映射到客户端的指定端口,这样在客户端网络内访问客户端的指定端口就能访问到ssh服务器所在网络中的服务。经常使用的场景是客户端自身通过localhost:<指定端口>去访问。

参数说明:

实现功能:把ssh客户端能访问到的ip和端口映射到ssh服务器的指定端口,这样在服务器端的网络内访问服务器的指定端口就能访问到ssh客户端算在网络中的服务。

参数说明:

动态端口转发实际上是本地端口转发的升级版,除了建立本地端口转发之外,这种模式还在ssh的通信两端启动了socks5代理服务,并且通过本地端口转发机制把两个socks5代理连接在一起,因此当访问本地的socks5服务时实际上也是在访问远程的socks5服务。这样当指定客户端作为socks5代理之后,实际上相当于把客户端放入服务器端所在网络中,能够访问网络中的任意一个服务,而无需为每个服务(ip:端口)都配一次本地端口转发规则。

参数说明:

远程端口转发或代理转发

【中文标题】远程端口转发或代理转发【英文标题】:Remote port forwarding or agent forwarding 【发布时间】:2015-01-04 14:56:32 【问题描述】:

这是关于通过我自己的笔记本电脑在两个远程服务器之间传输文件。

Mac:(MacOS) 我自己的笔记本电脑已经建立了 ssh private-public key-auth 与 3rd 方 Cloud 服务器,我可以从 Mac ssh 进入它Mac 也可以使用特定的管理员用户名 SSH 进入 Desktop

:(Unix)第三方存储提供商。

桌面:(Linux) 存储本地数据的公司服务器,只能由 Mac ssh-ed,不能与 Cloud 对话直接。

问题:我需要将大数据 (TB) 从 Cloud 下载到 Desktop,而我的 Mac保持不住。怎么做?

背景:

了解 $rsync 和 $scp 知道$ssh -L 对 $ssh -A 或 $ssh -R 了解有限,不知道如何使用它们。

【问题讨论】:

【参考方案1】:

Mac 上,运行

scp -3 Cloud:big_data Desktop:.

这将通过 Mac 将数据从 云端 传输到 桌面,而无需复制 Mac 上的数据。您需要最新版本的scp

【讨论】:

这适用于小文件。有没有大文件的 rsync 版本? rsync 通常在幕后使用ssh。使用rsync 代替scp 没有任何好处,除非您预计传输可能会中断并需要恢复...

以上是关于ssh的代理和端口转发机制介绍的主要内容,如果未能解决你的问题,请参考以下文章

端口转发&代理学习

端口转发&代理学习

实战 SSH 端口转发

使用 SSH 隧道实现端口转发SOCKS 代理

远程端口转发或代理转发

端口转发总结归纳