SSH转发,访问特定端口服务。
ssh -L 11445:192.168.100.100:445 zl_lenovo -N
ssh -L 15900:192.168.100.218:5900 zl_lenovo -N
先上两条命令,这是通过本地端口通过跳板机,访问跳板机网络指定的ip的指定的端口的数据[服务]
记住在本地使用请求数据的时候,最好用localhost,我前面有一次使用127.0.0.1,获取数据失败.
ssh -L 11445:192.168.100.100:445 zl_lenovo -N -o ExitOnForwardFailure=yes -o ServerAliveInterval=30 -o ServerAliveCountMax=3
这条SSH命令创建了一个本地端口转发,同时配置了几个选项以提高连接的可靠性和稳定性。下面是对每个部分的详细介绍:
-
ssh
: 启动SSH客户端,是连接和执行命令的基本工具。 -
-L 1445:192.168.100.100:445
: 这是本地端口转发的核心指令。它告诉SSH客户端在本地机器上监听1445端口,并将所有发往此端口的数据转发到192.168.100.100
上的445端口。这种转发通过与zl_lenovo
建立的SSH隧道进行。1445
是本地监听端口。192.168.100.100:445
指定远程目标地址和端口,即所有发往本地1445端口的数据都会被转发到这个远程地址和端口上。
-
zl_lenovo
: 指定SSH连接的目标主机,可以是一个主机名或IP地址。这里zl_lenovo
可能是跳板机的主机名或别名,SSH客户端会尝试连接到此主机。 -
-N
: 告诉SSH客户端不执行远程命令,通常与端口转发一起使用。这个选项使得SSH连接只用于端口转发,而不是打开远程shell或执行某个远程命令。 -
-o ExitOnForwardFailure=yes
: 这是一个选项(-o
),用于指定某个SSH配置参数。ExitOnForwardFailure=yes
意味着如果端口转发设置失败(例如,因为所请求的本地端口已被占用),SSH进程将退出。这有助于确保端口转发确实按预期设置,否则立即报错。 -
-o ServerAliveInterval=30
: 设置每30秒发送一次保活(keep-alive)消息给服务器,以确保SSH连接处于活跃状态并检测到任何潜在的连接问题。 -
-o ServerAliveCountMax=3
: 如果连续三次保活检测失败(即,在90秒内没有收到服务器的任何响应),SSH客户端将断开连接。这有助于自动处理挂起或无响应的SSH连接。
综上所述,这条命令的作用是在本地机器上设置一个监听1445端口的服务,所有发往此端口的数据都通过一个安全的SSH隧道转发到192.168.100.100
的445端口。同时,命令配置了几个选项以确保转发过程的稳定性和安全性,特别适用于需要远程访问网络服务(如SMB)的场景。