sshd 常规设置

  • 禁用 root 远程登陆
    1
    
    PermitRootLogin no
    
  • 只允许私钥登陆
    1
    2
    
    PubkeyAuthentication yes
    PasswordAuthentication no
    
  • 开启端口转发功能
    1
    2
    3
    4
    5
    6
    
    AllowTcpForwarding yes
    GatewayPorts yes
    X11Forwarding yes
    TCPKeepAlive yes
    ClientAliveInterval 60
    ClientAliveCountMax 3
    

ssh 参数

  • -f 后台运行
  • -N 仅作端口转发,不执行任何命令
  • -g 绑定端口到全部网卡

本地定向转发

  • ssh-client 不可达 remote-host, ssh-server 可达 remote-host, ssh 隧道映射 ssh-client 指定端口到 remote-host 指定端口
  • 在 ssh-client 执行
    1
    2
    3
    
    ssh -f -N -g \
        -L [<ssh-client-ip>:]<port on ssh-client>:<remote-host>:<port on remote-host> \
        username@<ssh-server>
    

远程定向转发

  • ssh-client 可达 remote-host, ssh-server 不可达 remote-host, ssh 隧道映射 ssh-server 指定端口到 remote-host 指定端口
  • 在 ssh-client 执行
    1
    2
    3
    
    ssh -f -N -g \
        -R [<ssh-server-ip>:]<port on ssh-server>:<remote-host>:<port on remote-host> \
        username@<ssh-server>
    

动态转发

  • SOCKS5 代理
  • 在 ssh-client 执行
    1
    2
    3
    
    ssh -f -N -g \
        -D <port on ssh-client> \
        username@<ssh-server>