SSH 隧道
chenzuoqing Lv3

SSH 隧道

  1. 对端ip的端口映射到本机;
  2. 本机的端口映射到对端,这时通常做内网穿透。

SSH命令行

重要:netstat 查看端口,若最外层主机只监听 127.0.0.1 则修改 sshd_config ,打开 GatewayPorts yes

  1. 远程转发:本机监听的端口映射到对端机器

    1
    2
    3
    4
    # ssh -R remote_port:local_ip:port [remote]
    # 将本地服务监听的8080映射到125服务器的8080,125可以是一个云服务器的外网ip
    ssh -CfNg -p 22 -R 8080:localhost:8080 root@172.16.88.125
    ssh -CfNg -p 22 -R 0.0.0.0:8080:localhost:8080 root@172.16.88.125
  2. 本地转发:将远程的服务映射到本机端口访问

    1
    2
    # 将远程服务器监听的端口映射到本机的某个端口
    ssh -CfNg -p 22 -L 80:localhost:80 root@172.16.88.125
  3. 常用参数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    -N      不执行远程命令. 用于转发端口. 
    -n 把 stdin 重定向到 /dev/null (实际上防止从 stdin 读取数据). ssh在后台运行时一定会用到这个选项. 它的常用技巧是远程运行 X11 程序.
    -f 要求 ssh 在执行命令前退至后台.
    它用于当 ssh 准备询问口令或密语,但是用户希望它在后台进行.
    该选项隐含了-n 选项.
    在远端机器上启动X11程序的推荐手法就是类似于 ssh -f host xterm 的命令.
    -C 要求进行数据压缩
    -g 允许远端主机连接本地转发的端口

    -R Remote 映射本地主机服务监听的端口到远程
    -L Local 映射远程主机服务监听端口到本地
 Comments