tips server ssh 正向 反向 代理
1. ssh userxxxxname@115.28.87.102
(直接使用ssh的连接方式连接到远程主机,而不是使用http,ftp等方式连接到具体远程主机)
退出并注销关闭连接 exit
2.left-connection(左连接 正向连接)
ssh -L client_ip(可省略,省略则为默认值127.0.0.1):client_port
:server_ip(服务器那端能访问的ip地址a):server_port(a的端口)
登录服务器的用户名@服务器ip -p server_port(服务器ssh的端口 默认:22) 有默认值所以可以不加-p 另外服务器ip也可以像http协议那样用域名替代
具体解释:
我的ip是在某路由器的局域网内 192.168.1.104 在本地打开一个端口7900 然后左连接服务器http://test.conglinnet.com/ (此网站在服务器ip 115.28.87.102上)
此时和我同一局域网内的比如192.168.1.106 在本地浏览器键入 192.168.1.104:7900 将打开 http://test.conglinnet.com/的网页
ssh -L 192.168.1.104:7900:test.conglinnet.com:80 username@115.28.87.102
此时所有 发往192.168.104:7900端口的请求将通过192.168.1.104的7900端口通过发向和它连接的ssh远程主机(115.18.87.102)上的指定端口,
同时请求的响应也会返回给我的7900端口 别人访问我的7900端口就可以看到目前7900端口上的数据
所以很明显 会发生这样的情况 远程主机并不知道我的7900端口背后发送的请求实际上是哪一台设备
而支持通过7900端口ssh传送过去的请求支持ftp ,ssh,http等但是好像不支持vpn,因为不支持gre协议
一句话重点:把server能访问的机器地址和端口(当然也包括server自己)镜像到client的端口上
right-connection-右连接 反向连接
ssh -R server_ip(可省略,省略则为默认值127.0.0.1):server_port:
client_ip(客户端这边能访问的ip地址d):client_port(d能访问的端口)
登陆服务器的用户名@服务器IP -p [服务器ssh服务端口(默认22)]
具体解释:
我有一台个人pc 或者自己买了性能比较强大的电脑 想做一台web上的服务器 不幸的是全球互联网上的固定ip,这种任何人都可以访问的ip地址是有限的,目前市场还比较紧俏
但是我弄到了一个,然后我想自己这台pc映射到那台可以访问的地址上去,这样资源在我本地, 任何人可以通过访问internet上的它,由它跑到我这儿来请求
(或者说把请求转发给我的pc),由我返回响应给它,它将响应的数据给请求的任何人.
ssh -R test.conglinnet.com:8999:192.168.1.104:9000 username@115.28.87.102
这个时候的情况是 任何人访问http://test.conglinnet.com:8999 都会实际上将请求转到某局域网内的我本机(192.168.1.104)上的9000端口,而我在9000端口上开了个web服务器
note:
当然具体执行起来会有一些其它的不同,这里只是说明ssh的原理.通常实际上大概会再做一次端口转发
将服务器上的80端口转发给8999,然后任何人就可以直接访问http://test.conglinnet.com了
还有实际上的固定ip与域名,最明显的一个差别就是 一个固定ip上通常会有n个域名,否则多浪费ipv4下有限的固定ip
一句话重点:把客户端能访问的机器地址和端口(当然也包括客户端自己)镜像到服务器的端口上
这样看起来,似乎应用程序之间的通信即是端口之间的通信.
其它常用ssh片段
ssh -D client_port 登录服务器用户名@server_ip
此时firefox 或者ie里socks代理监听 本机那个client_port 就ok了
ssh -v -R 0.0.0.0:8999:0.0.0.0:9000 username@115.28.87.102 //也常用0.0.0.0来监听所有地址,省心.
ssh的其它常用参数
-q 静默运行,就算出错也啥都不提示
-f 后台运行
-C 压缩,带宽很差的时候压缩会快一些,否则会更慢
-i xxx.file 提供公钥文件直接验证
-l 指定用户名,其实就是@前面写的那个。
参考:http://www.cnblogs.com/longdouhzt/archive/2012/04/21/2461611.html
当ssh意外终结时杀死未及时关闭的ssh进程:
根据pid杀进程
kill -s 9 1827 或者 kill -9 11116
查占用端口
netstat -anp | grep 5001
netstat -ap |grep 5001
使用命令:netstat –apn
查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name
netstat –apn | grep 8080
ps -ef
ps ux 就可以显示当前用户的进程
ps -ef | grep ssh 查看ssh使用的进程
查看8888端口,则在终端中输入:lsof -i:8888
杀指定用户的ssh进程:
pkill ssh -u lijiie
tips server ssh 正向 反向 代理的更多相关文章
- SSH 正向/反向代理小记
上周因为玩耍Minecraft的原因,折腾了下ssh的正向.反向代理,不得不说,科技改变命运..了解了基础的用法之后,很多跨域的事情都可以通过代理解决,而且只需要ssh帐号权限即可. 那么就简单来介绍 ...
- 【05】Nginx:TCP / 正向 / 反向代理 / 负载均衡
写在前面的话 在我们日常的工作中,不可能所有的服务都是简单的 HTML 静态网页,nginx 作为轻量级的 WEB 服务器,其实我们将它用于更多的地方还是作为我们网站的入口.不管你是后端接口,还是前端 ...
- ssh 设置反向代理
远程主机上/etc/ssh/sshd_config中,开启 GatewayPorts yes systemctl reload sshd 本地: ssh -CqTnN -R 0.0.0.0:9000: ...
- SSH做反向代理
说实话,我对反向代理这个概念并不熟悉,只是感觉以下要做的事是一个代理的逆向过程,故借此名词一用. 问题场景是这样的:我有两套Linux集群的访问权限,分别为A和B,它们互相独立.其中A.B集群均能访问 ...
- ssh后门反向代理实现内网穿透
如图所示,内网主机ginger 无公网IP地址,防火墙只允许ginger连接blackbox.example.com主机 假如你是ginger的管理员root,你想要用tech主机连接ginger主机 ...
- 反向代理:是指以代理server来接收Internet上的请求,然后将请求转发到内部网络的server上,并将结果返回给Internet上连接的client,此时的代理server对外就表现为反向代理server。
Nginx安装好之后.開始使用它来简单实现反向代理与负载均衡的功能.在这之前.首先得脑补一下什么是反向代理和负载均衡. 反向代理:是指以代理server来接收Internet上的请求,然后将 ...
- 使用nginx为ArcGIS Server做反向代理
1.下载nginx软件:官网地址http://nginx.org/ 2.修改conf文件夹下nginx.conf配置信息, 配置文件中以下内容: server { listen 80; s ...
- 记一次 用 ssh 反向代理解决的远程操作效率问题
公司在异地有一个项目,项目在内网有一个linux 集群开发人员通过 xshell 进行操作,但是开发过程中还需要公司开发人员进行远程操作,原来采用的方案是向日葵,需求能实现但是限于网络环境向日葵实在是 ...
- Nginx负载均衡和反向代理
1:反向代理 代理就是中介,那有反向代理就有正向代理,两者的区别是什么嘞? 正向代理隐藏真实客户端,服务端不知道实际发起请求的客户端.,proxy和client同属一个LAN,对server透明: 反 ...
随机推荐
- scrapy--json(360美图)
之前开始学习scrapy,接触了AJax异步加载.一直没放到自己博客,趁现在不忙,也准备为下一个爬虫做知识储存,就分享给大家. 还是从爬取图片开始,先上图给大家看看成果,QAQ. 一.图片加载的方法 ...
- PLC状态机编程第五篇-状态机自动生成PLC程序
这篇比较简单了,我就直接上图了,不多废话. 一.选择求解器,一定要选择定步长的. 二.右击Chart状态机,出现图上菜单 三.左边红色的勾选择,选择右侧的菜单,然后点击Generate Code按钮, ...
- sql语句(Oracle和sqlserver)
查询表的首句:(Oracle) select * from (select a.*, rownum as rn from tab_name a order by col )where rn = 1 o ...
- 解决cmd 运行python socket怎么终止运行
在cmd里启动python写了一个socket服务端的程序,但是启动之后由于监听连接的是一个死循环 这时想终止运行,发现按ctrl+c,ctrl+z,ctrl+d都不能终止 用ctrl+break解决
- Pandas库入门
pandas库的series类型
- DHCP服务(dhcpd)
DHCP动态分配主机地址(Dynamic Host Configuration Protocol) 动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局 ...
- MySQL权限管理创建帐户
权限管理 1.创建账号 # 本地账号 create user 'egon1'@'localhost' identified by '123'; # mysql -uegon1 -p123 # 远程帐号 ...
- windows上php环境下memcache和mongodb的安装
mangodb安装 1. 下载mongodb的安装文件,我安装的windows 64位的,下载地址如下: https://fastdl.mongodb.org/win32/mongodb-win32- ...
- 关于JavaScript设计模式的学习(二)
第二部分来了,是关于结构型的,同样的,还是在简书中,GitHub上也有代码示例和详细注释 简书:http://www.jianshu.com/p/face1be4b846 github:https:/ ...
- Python之进程、线程、协程
进程和线程的目的 进程和线程目的是为了:提高执行效率 现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统. 什么叫“多任务“呢?简单地说,就是操作系 ...