ssh port forwarding
SSH端口转发,总是忘记,今天记录下。端口转发有两种,一个是local一个是remote(可能还有一种dynamic,还没有研究)
贴个链接 https://www.ssh.com/ssh/tunneling/example#sec-What-Is-SSH-Port-Forwarding-aka-SSH-Tunneling
看完这个链接基本就会了,如果还不会再看 man ssh 里,找 -L和-R选项
Local转发
ssh -NL [bind-address]<local-port>:<target-host>:<target-port> <ssh-server>
执行ssh命令的机器(ssh客户端),想通过 <ssh-server> 访问 <target-host>:<target-port> ,那么在执行了上述命令后,就可以访问 127.0.0.1:<local-port> 来访问<target-host>:<target-port>了。[bind-address]是一个可选项,如果不指定的话,那么只要能访问到 <local-port> 的机器就都可以访问到 <target-host>:<target-port> 了,比如另一台和命令执行的机器在同一个局域网内的机器。
-N选项的目的是不执行连接时的命令(一般是shell),只进行端口转发,还可以指定 -f,放到后台运行。
这个功能一般用来访问只有 <ssh-server> 能访问到的资源,比如,那些跑在 <ssh-server> 上的数据库,因安全问题,数据库设置成仅本地可访问,当我们需要使用ui工具时,就可以远程端口转到本地来。例如要访问 <ssh-server> 上的 postgres 服务,则需要在本地执行 ssh -NL 5432:localhost:5432 <ssh-server>
Remote转发
ssh -NL [clientspecified-address]<remote-port>:<target-host>:<target-port> <ssh-server>
执行ssh命令的机器(ssh客户端),希望 <ssh-server> 通过自己可以访问到 <target-host>:<target-port>,在执行了上述命令后,就可以通过访问 <ssh-server>:<remote-port>来等效为 执行ssh命令的机器去访问 <target-host>:<target-port>
如果 <ssh-server> 在公网上,这个功能可以将本机的服务暴露到公网上去,供人访问。例如本机有一个测试的web服务(比如微信开发时,需要和微信的服务器交互)。这个功能还需要注意 sshd_config 中的 GatewayPorts 选项,no/yes/clientspecified,no表示只能 <ssh-server> 访问,而 yes 表示大家都可以访问, 指定谁可以访问。clientspecified表示由 [clientspecified-address]
这两个功能在开发时都比较实用,PS:remote转发我还没有试过,先写在这里
ssh port forwarding的更多相关文章
- SSH Tunnel扫盲(ssh port forwarding端口转发)
SSH的的Port Forward,中文可以称为端口转发,是SSH的一项非常重要的功能.它可以建立一条安全的SSH通道,并把任意的TCP连接放到这条通道中.下面仔细就仔细讨论SSH的这种非常有用的功能 ...
- SSH port forwarding: bind: Cannot assign requested address
https://www.electricmonk.nl/log/2014/09/24/ssh-port-forwarding-bind-cannot-assign-requested-address/
- How to do SSH Tunneling (Port Forwarding)
How to do SSH Tunneling (Port Forwarding) In this post we will see how ssh works?, what is SSH tunne ...
- 图解再谈ssh port forwarding-ssh隧道技术
https://www.ramkitech.com/2012/04/how-to-do-ssh-tunneling-port-forwarding.html https://www.cnblogs.c ...
- GitLab non-standard SSH port
/***************************************************************************** * GitLab non-standard ...
- OpenSSH高级功能之端口转发(Port Forwarding)
在RedHat提供的系统管理员指南中提到OpenSSH不止是一个安全shell,它还具有X11转发(X11 Forwarding)和端口转发(Port Forwarding)的功能.X11功能一般用于 ...
- How To Set Up Port Forwarding in Linux
Port forwarding usually used when we want our computer act like a router. Our computer receive the p ...
- Port Forwarding in Windows
转自:http://woshub.com/port-forwarding-in-windows/ Since Windows XP there is a built-in ability in Mic ...
- NAT&Port Forwarding&Port Triggering
NAT Nat,网络地址转换协议.主要功能是实现局域网内的本地主机与外网通信. 在连接外网时,内部Ip地址需要转换为网关(一般为路由器Ip地址)(端口号也需要相应的转换) 如: ...
随机推荐
- numeric 转换为数据类型 (null) 时出现算术溢出错误
mssql数据同步到mysql时提示错误如下: 消息 8115,级别 16,状态 14,第 1 行 将 numeric 转换为数据类型 (null) 时出现算术溢出错误 问题分析如下: 1.数据字段类 ...
- MongoDB 查询语法
转载 http://blog.163.com/lgh_2002/blog/static/440175262012052116455/ 详见官方的手册:http://www.mongodb.org/di ...
- 解决Navicat 报错:1130-host ... is not allowed to connect to this MySql server,MySQL不允许从远程访问的方法
1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 " ...
- linux中的vi编辑器(一)
1.在linux中如果两个用户都在打开一个文件进行编辑,那么文件最后将以最后保存的版本为主. 2.vi仅仅是一个文本编辑器,相当于windows中的记事本,vi的工作模式, 命令模式:在该模式下,在键 ...
- Cflow使用详解【转】
转自:http://blog.csdn.net/hanchaoqi/article/details/40922615 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近使用cflow,根据Cf ...
- ext4向后兼容代码
ext.h: #define EXT4_GOOD_OLD_INODE_SIZE 128 ... #define EXT4_GOOD_OLD_REV 0 /* The good old (origina ...
- AC日记——[Sdoi2016]数字配对 bzoj 4514
4514 思路: 很受伤现在,,测了那么多次不过的原因就是因为INF不够大: 解法有两种: 解法1: 把n个点按照质因数个数为奇或偶分为两个点集(很容易就可以想到): 然后,按照题目连边跑最大费用流: ...
- Nowcoder Girl 参考题解【待写】
[官方题解]:https://www.nowcoder.com/discuss/65411?toCommentId=1134823 [题目链接]:https://www.nowcoder.com/te ...
- ACM的奇计淫巧_扩栈C++/G++
C++ #pragma comment(linker, "/STACK:102400000,102400000") G++ << ; // 256MB char *p ...
- Jenkins错误“to depth infinity with ignoreexternals:true”问题解决
试下以下解决方法: 1.可能是SVN插件版本过低导致,升级SVN插件. 2.可能是构建时自己手动修改了代码,而SVN检出时无法覆盖导致的错误,可以先删除jenkins检出的代码,然后再检出一次去构建. ...