Nar*_*aki 11 ssh proxy ssh-tunnel
我对使用 ssh 的 ProxyCommand 功能很满意,并且可以使用它来跳过多个堡垒主机以有效地到达最终主机。但我似乎无法理解它在后端实际上是如何工作的。
例如。我有以下配置文件。
Host final
Hostname final.com
Port 22
AgentForwarding yes
User guestuser
ProxyCommand "ssh user@bastion.com -W %h:%p"
Run Code Online (Sandbox Code Playgroud)
我知道为了连接到主机final,ProxyCommand 将在连接到final.com. 但我似乎仍然无法理解连接的顺序。
选项有-W %h:%p什么作用?我知道这是 netcat 功能,类似于nc %h %p.
所以就我的理解而言,这里是操作的顺序。如果我错了,请告诉我。我将在我的示例中使用上面指定的配置文件。
ssh finalssh final命令将上述连接作为代理并通过此现有连接传输其数据。另外我还想知道这种技术是否也称为ssh stacking?
添加换行符
3) 从 bastion.com 到 final.com 的 22 端口创建了一个 netcat 隧道。
假的,没有网猫。
1) 用户ssh final在本地主机上输入。这将启动父 ssh 进程
2) 父 ssh 创建一个子 ssh,其中 I/O 重定向到管道
3) 子 ssh 创建到 bastion.com 的连接。
4) sshdbastion.com 上的进程创建了一个到 final.com:22 的 tcp 连接
5) 一个 ssh 通道被添加到 localhost 和 bastion.com 之间的现有 ssh 连接
6) 父 ssh 将握手数据写入管道,子 ssh从管道中读取它,通过 ssh 通道发送到 bastion.com 上的 sshd;sshd 读取它并将其写入连接到 final.com 的套接字。同理,数据从final.com传输到localhost
| 归档时间: |
|
| 查看次数: |
5770 次 |
| 最近记录: |