ssh 本地\远程转发\代理用法
ssh命令参数
-A 开启SSH-Agent
-C 压缩数据传输
-f 后台登录用户名密码
-N 不执行shell[与 -g 合用]
-g 允许打开的端口让远程主机访问
-L 本地端口转发
-R 远程端口转发
-p ssh 端口
-W 开启转发标准输入标准输出
SSH 本地端口转发实例
本地端口转发的命令格式:
ssh -L <local port>:<remote host>:<remote port> <SSH hostname>
场景:两台机器,本地主机 host_A
和 远程主机 host_B
,但是由于防火墙的原因两台机器无法互相通信,而另外一台机器 host_3
却可以同时访问这两台机器,那么我们就可以设法通过 host_C
在 host_A
和 host_B
之间搭一座桥梁,让他们彼此能通信。
比如说,ssh -p 22 -CNfL 4000:10.0.0.1:4000 user1@192.168.33.100
这条命令,本地的机器跟 10.0.0.1
的机器无法直接连接,而 192.168.33.100
可以链接,它能够连接10.0.0.1机器。所以可以用192.168.33.100
作为跳板机,在我本机和 10.0.0.1
之间开一个“隧道”,并将端口号设置为 4000
,这样 10.0.0.1
4000 端口的所有数据都会被转发到我本机的 4000
端口。
最常用:
ssh -A -pSSH端口 -CNfL 本地端口:内网服务器IP:内网服务器端口 用户名@跳板机IP
ProxyCommand的方式
在~/.ssh/config文件中添加类似如下配置
Host 10.0.0.*
ForwardAgent Yes
ProxyCommand ssh -p 22 192.168.33.100 -W %h:%p 2>/dev/nul
参考资料
最后更新于 2019-11-15 01:56:57 并被添加「」标签,已有 3564 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处