玩转SSH端口转发

ssh端口转发(tunnel)

  我们在实施项目部署时经常会遇到一种问题,那就是当我们给一些安全系数高的客户部署服务时,大多都不会给我们提供公网访问的权限,但是很多时候为了方便又会允许服务器直接访问公网,遇到这种情况大多有两种办法:

  • 客户搭建VPN服务,通过VPN实现内网登录服务器
  • 到客户现场部署
      当客户提供VPN时还是比较理想的一种操作办法,部署维护起来都比较方便,但是如果是现场部署呢?难道让我们今后每次维护起来都要到现场么?显然难度比较大,今天来介绍一种技术来通过端口转发技术来解决这一问题。

    端口转发的三种模式

  • 本地端口转发

    本地通过SSH隧道访问远程服务器内的端口。
    格式:-L <local_port>:<host>:<host_port> <ssh_server>
    例如:ssh -p 1234 -L 5656:localhost:8080 federico@www.federico.xin
    最后我们通过访http://localhost:5656就能够访问到服务器的8080端口。

  • 远程端口转发

    远程服务器通过SSH隧道访问本地端口。用于内网穿透。
    格式:-R <remote_port>:<host>:<host_port> <ssh_server>
    例如:ssh -p 1234 -R 5656:localhost:80 federico@www.federico.xin
    最后我们在远程服务器端访问http://localhost:5656就可以访问内网映射服务器。
    ssh -p 1234 -R 5656:localhost:22 federico@www.federico.xin当命令变为映射当前服务器的ssh端口可以实现在远程服务器访问5656端口,直接转到本地服务器,也就是我们最开始叙述要实现的功能了。

  • 动态端口转发

    SSH 是创建了一个 SOCKS 代理服务。
    格式:ssh -D <local port> <SSH Server>
    例如:ssh -p 1234 -D 5656 federico@www.federico.xin接下来将本地浏览器设置SOCKS代理通过5656端口即可使用。

    修改sshd_config配置文件已支持以上端口转发操作。

    sshd_config
AllowTcpForwarding yes
GatewayPorts yes

了解我们需要的ssh详细参数

  • -f Fork into background after authentication.
    后台认证用户/密码,通常和-N连用,不用登录到远程主机。
  • -L port:host:hostport
    将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
  • -N Do not execute a shell or command.
    不执行脚本或命令,通常与-f连用。
    试试这个命令吧:ssh -p 1234 -NfR 5656:localhost:80 federico@www.federico.xin看看能不能实现我们最初的需求吧。

  让我们开始玩转ssh吧。

转载于:https://www.cnblogs.com/Cherry-Linux/p/7871763.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/252871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12.4日团队工作总结

今天团队的主要任务是注重于画图工具的设计&#xff0c;这就意味着我们首要的任务是将画图工具设置出来并可以完整运行&#xff0c;接下来才能顾及之前的改图软件&#xff0c;但今天在设计的过程中&#xff0c;遇到了两者无法无缝结合的问题&#xff0c;目前还没解决。 转载于:…

WIFI DFS测试介绍

http://www.eefocus.com/summer12200/blog/09-02/166038_b9094.html 1. 概述: 目前在802.11系列标准中&#xff0c;涉及物理层的有4个标准&#xff1a;802.11、802.11b、802.11a、802.11g。根据不同的物理层标准&#xff0c;无线局域网设备通常被归为不同的类别&#xff0c;如…

git 远程仓库版本的回退以及git reset 几种常用方式记录

由于 github push 了两个比较潦草的commit, 自己很不满意&#xff0c;又不想重新开vpn进行上传&#xff0c;所以找了一下相关的教程。 最后研究了一下&#xff0c;原理为先在本地还原到你想要的commit,然后强制push 到远程仓库&#xff0c;强制将远程仓库还原到你想要的commit.…

【PHP】详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI、SCRIPT_NAME、PHP_SELF区别

实例&#xff1a;1、http://localhost/index.php/Home/Home/index.html $_SERVER[QUERY_STRING] ""; $_SERVER[REQUEST_URI] "/index.php/Home/H1/index.html";$_SERVER[SCRIPT_NAME] "/index.php";$_SERVER[PHP_SELF] "/index.php/H…

微软发布Azure Cosmos DB产品以及新的物联网解决方案

微软于当地时间2018年12月4日召开了一年一度的以云计算和数据为中心的开发者大会&#xff0c;在会上微软正式发布Azure机器学习服务(Azure Machine Learning service)&#xff0c;这是一个云平台&#xff0c;允许开发人员构建、训练和部署AI模型&#xff0c;并对Azure认知服务(…

安装Windows10,Ubuntu双系统14.04LTS记录

两种方式都可以制作https://jingyan.baidu.com/article/19192ad85aa445e53e5707c2.htmlhttps://www.cnblogs.com/arcsinw/p/5303615.html

物理层、数据链路层网络设备工作原理

物理层网络设备有中继器、集线器。 中继器的功能是将接收到的信号进行再放大然后传输出去&#xff0c;作用是将扩展网络设备信号传输的物理范围&#xff0c;缺点是扩大数据信号的同时也扩大的噪声&#xff0c;不能够进行广播隔离&#xff0c;网络利用率很低&#xff0c;现在基本…

java中重载和重写的区别

1:重载是指一个类中定义多个方法名相同但参数列表不同的方法&#xff0c;在编译时根据方法参数的个数和类型来决定绑定哪个方法&#xff1b; 重写是指在子类中定义和父类方法签名完全一样的方法&#xff0c;在程序运行时根据对象的类型不同而调用不同的方法。&#xff08;注意不…

大华Global Shutter CMOS摄像机剖析

http://www.itavcn.com/news/201709/20170912/63257.shtml

最短路径——Dijkstra算法以及二叉堆优化(含证明)

一般最短路径算法习惯性的分为两种&#xff1a;单源最短路径算法和全顶点之间最短路径。前者是计算出从一个点出发&#xff0c;到达所有其余可到达顶点的距离。后者是计算出图中所有点之间的路径距离。 单源最短路径 Dijkstra算法 思维 本质上是贪心的思想&#xff0c;声明一个…

linux shmget shmctl

shmgetint shmget(key_t key, size_t size, int flag);key: 标识符的规则size:共享存储段的字节数flag:读写的权限返回值&#xff1a;成功返回共享存储的id&#xff0c;失败返回-1key_t key----------------------------------------------- key标识共享内存的键值: 0/IPC_P…

java控制台输入输出总结

一、控制台输入&#xff1a; 1.最常用&#xff1a;Scanner public static void main(String[] args) { System.out.println("请输入数据:"); Scanner scan new Scanner(System.in); String read scan.nextLine(); System.out.println("输入的数据为:"…

伯克利开源工具库RLib现已支持大规模多智能体强化学习

AI前线导读&#xff1a;近日&#xff0c;UC伯克利的研究团队RISELab在其Github的项目Ray Rlib 0.6.0中添加了面向多智能体强化学习&#xff08;multi-agent Reinforcement Learning&#xff09;的支持。本文由团队成员Eric Liang首发于RISELab团队主页&#xff0c;AI前线翻译整…

相机电子快门和机械快门有什么区别

https://zhidao.baidu.com/question/9178007.html

Long

而由于javascript数字的最大值2的53次方-1&#xff0c;以及PHP的数字处理能力&#xff0c;比如number_format(9027199254740993, 0, , )转载于:https://www.cnblogs.com/sfsdst/p/6734083.html

操作系统实验以及课程设计

趁没人&#xff0c;当个小白来偷偷摸摸补一下操作系统的课程&#xff0c;羞反正操作系统断断续续的看了一点了&#xff0c;主要是偏linux的。FreeBSD的实现&#xff0c;操作系统概念&#xff0c;30天自制操作系统等。Linux的话命令用的还行&#xff0c;没有很深入的搞。看操作系…

关于星光级和低照度你了解多少?

http://www.tpy888.cn/news/201607/22/89214.html

AI界的妖风

最近一篇文章https://zhuanlan.zhihu.com/p/50948707深度学习碰上古文献&#xff0c;西南大学提出基于CNN的古彝文识别方法 我预计不久之后就会出现一个现象&#xff1a;不光有彝族文字识别&#xff0c;还有蒙文识别&#xff0c;藏文识别&#xff0c;苗文识别 然后各位教授一起…

poj1936

非连续子串匹配题&#xff0c;直接模拟 /** \brief poj 1936** \param date 2014/8/5* \param state AC* \return memory 804k time 0ms**/#include <iostream> #include <fstream> #include <cstring>using namespace std;const int MAXN100000; char s[MAX…

Process和ProcessBuilder入门【原】

ProcessBuilder优点 ProcessBuilder(XXX).start()和Runtime.exec(XXX)功能相同,主要优点在使用过程中感受有: 前者是jdk1.5后的新方式配置环境变量时更优雅对当前目录的控制也更合理错误流重定向特别方便 进程控制更简洁ProcessTool.java package test;import java.io.Buffered…