- -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代理
- 如果使用xshell作为终端工具,可以在会话属性 -> SSH -> 隧道,添加配置一个socks代理,其他终端工具类似。
- 如果直接使用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
来源:oschina
链接:https://my.oschina.net/u/2912094/blog/2961235