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地址)(端口号也需要相应的转换) 如: ...
随机推荐
- ThreadPool怎样判断子线程全部执行完毕
原文发布时间为:2010-10-27 -- 来源于本人的百度文章 [由搬家工具导入] 1、先来看看这个 http://hi.baidu.com/handboy/blog/item/160e9697fd ...
- JavaScript日历控件!JS兼容IE6.7.FF.可挡住下拉控件
原文发布时间为:2009-08-22 -- 来源于本人的百度文章 [由搬家工具导入] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...
- sql联合主键,用于多对多,关系映射
如题.记录下. 复合主键,由多个字段共同确定一行信息 composite key, containing multi cols to fix one element.
- Syslinux使用
1. 介绍 Syslinux是一个功能强大的引导加载程序, 可以装在U盘上来引导系统 在5.00版本以前,几乎所有c32模块是独立的,即没有其他模块依赖:但在5.00以后,很多c32模块则是依赖于其他 ...
- pyqt线程实现
# coding=utf-8 __author__ = 'a359680405' from PyQt5.QtCore import * from PyQt5.QtGui import * from P ...
- layui 的Tab选项卡
http://www.layui.com/doc/element/tab.html <#--start--> <div class="layui-tab layui-tab ...
- Spring Boot学习——统一异常处理
本随笔记录使用Spring Boot统一处理异常. 本文实例是从数据库中根据ID查询学生信息,要求学生的年龄在14——20岁之间.小于14岁,提示“你可能在上初中”:大于20岁,提示“呢可能在上大学” ...
- c# Thread类
现在C#已经建议摈弃使用 Suspend, Resume 暂停/恢复线程, 也尽量少用 Abort方法中断一个线程. 建议使用线程的同步手段有: Mutex.ManualResetEvent.Aut ...
- python--网络爬虫一
http://hankjin.blog.163.com/blog/static/3373193720105140583594/ http://blog.csdn.net/wklken/article/ ...
- Excel Sheet Column Title - LeetCode
Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ...