ssh代理

偶尔善良 提交于 2020-11-08 16:25:20
  • -f 后台启用
  • -N 不打开远程shell,处于等待状态
  • -g 启用网关功能
  • -L 本机端口
  • -f 后台启用,可以在本机直接执行命令,无需另开新终端
  • -N 不打开远程shell,处于等待状态,不跳到远程主机,还在主机上,只是搭好了隧道,桥搭好,不ssh上去
  • -R 服务端口
  • -D 1080 root@sshserver 动态转发机制,在本机firefox设置代理socket proxy:127.0.0.1:1080

首先主机A,B,C

A > SSH > B > SSH > C

1.正向代理 -L

# ssh B_ssh_username@B_相对于A的ssh_host:B_相对于A的ssh_port -L B_本地机器新建port:C_能访问的机器的host包括自己127.0.0.1:C_能访问的机器的port -N

# 在机器B上执行ssh 连接C.   A就能访问B:18827来访问C:27017
ssh user@192.168.0.188  -L 18827:127.0.0.1:27017 -f -N

2.反向端口转发 -R

反向端口转发的基本思想就是从主机A建立到主机B的ssh连接的同时在主机B上打开一个端口可以反向连接到主机A上面能连接到的某一台机器的某一个端口,当然从主机控制上面来说连接到主机B的22(ssh端口)是最实惠的了,现在要做的就是在主机A上面运行如下的命令:

ssh -R 8888:localhosthost-b.office.mycompany.com:22 oracle@host-c.prod.mycompany.com -N

3.socks5代理

  1. 如果使用xshell作为终端工具,可以在会话属性 -> SSH -> 隧道,添加配置一个socks代理,其他终端工具类似。
  2. 如果直接使用ssh命令行,则可通过 ssh -fC2qTnN -D 8080 ip:port 开启一个socks代理,其中

-f 表示后台运行
-C 表示启用压缩,可以不开启
-2 表示启用第二版ssh协议
-q 表示静默模式
-T 表示禁用交互shell
-n 表示将stdin重定向到 /dev/null ,即不接受控制台输入
-N 表示不执行远端命令
-D 表示开启本地socks代理端口转发,后端的端口为本地监听端口,当前支持socks4/socks5

ssh -fC2qTnND 127.0.0.1:1080 xiaoming@158.123.45.37
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!