google :
- linux ssh proxy command
2、jsch connect sock
跳板机--通过网关
概括:两种方式ProxyJump 或者 ProxyCommand
区别:
ProxyJump 需要目标主机或跳板机 接受端口转发
ProxyCommand 古老。ssh协议转发 是 nc 而不是 ssh
Get :
在同一主机配置中不可能同时使用ProxyJump和ProxyCommand指令。发现的第一个被使用,然后另一个被阻止。
OpenSSH 5.4之前的旧方法使用netcat,nc(1)
从2016年8月发布的OpenSSH 7.3开始[3],通过一个或多个跳转主机的最简单方法是使用ssh_config(5)中的ProxyJump指令
摘选:
可以通过一个或多个中介连接到另一个主机,以便客户端可以表现为连接是直接的。
主要方法是使用SSH连接将SSH协议通过一个或多个跳转主机(使用ProxyJump指令)转发到目标目标主机上运行的SSH服务器。这是最安全的方法,因为加密是端到端的。除了其他加密之外,链的端点还加密并解密彼此的流量。因此,通过中间主机的流量始终是加密的。但是,如果中间主机或目标主机拒绝端口转发,则不能使用此方法。
使用ProxyCommand选项调用Netcat作为链中的最后一个是对于非常老的客户端的变体。SSH协议转发nc而不是ssh。还必须注意用户名是否在SSH连接链中从主机更改为主机。过时的netcat方法不允许更改用户名。其他方法呢。
当端口转发可用时,最简单的方法是在配置文件中使用ProxyJump或使用-J作为运行时参数。-J用法的一个例子是:
$ ssh -J firewall.example.org:22server2.example.org
ssh -J 192.168.0.85:22 192.168.0.11
网友评论