linux ssh 端口转发

    技术2025-04-26  4

    2020年注定是个不平凡的一年,北京疫情最近又闹的挺严重,希望能在以后的时间里,老百姓的日子能快点好起来,美国也能好起来。

    最近看到公司是使用跳板机来登录远程服务器主机的,可能服务器主机只是授权跳板机可以远程访问ssh端口。以前没有接触过,今天做了个实验试了一下。

    假设主机A,主机B,想通过访问主机A的8899端口连接到主机B的22端口。

    首先主机A和B需要开启免密连接即 ssh-keygen,然后把主机A的公钥拷贝到主机B

    主机A和B生成密钥

    [root@localhost .ssh]# ssh-keygen

    生成的密钥存在于root/.ssh文件夹下,自己可以看下是否生成成功

     

    2.把主机A的公钥拷贝到主机B

    [root@localhost .ssh]# ssh-copy-id root@192.168.73.130 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@192.168.73.130's password:

    3.主机A端口映射到主机B

    在主机A上输入如下命令

    [root@localhost .ssh]# ssh -C -f -N -g -L 8899:192.168.73.130:22 root@192.168.73.130

    -C:压缩数据传输。

    -f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。

    -N :不执行脚本或命令,通常与-f连用。

    -g :在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。

    -L 本地端口:目标IP:目标端口

    将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport

    -R本地端口:目标IP:目标端口 参考

    ------------------------------------------

    https://blog.csdn.net/isoleo/article/details/52944763

    Processed: 0.008, SQL: 9