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)的场景。

posted @ 2024-03-21 15:07  就是想学习  阅读(14)  评论(0编辑  收藏  举报