--- title: "ssh 命令" date: 2019-10-29T21:10:48+08:00 lastmod: 2019-10-29T21:10:48+08:00 keywords: [] tags: ["ssh", "隧道", "转发"] categories: ["shell"] --- ## sshd 常规设置 - 禁用 root 远程登陆 ``` PermitRootLogin no ``` - 只允许私钥登陆 ``` PubkeyAuthentication yes PasswordAuthentication no ``` - 开启端口转发功能 ``` 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 执行 ```bash ssh -f -N -g \ -L [:]:: \ username@ ``` ## 远程定向转发 - ssh-client 可达 remote-host, ssh-server 不可达 remote-host, ssh 隧道映射 ssh-server 指定端口到 remote-host 指定端口 - 在 ssh-client 执行 ```bash ssh -f -N -g \ -R [:]:: \ username@ ``` ## 动态转发 - SOCKS5 代理 - 在 ssh-client 执行 ```bash ssh -f -N -g \ -D \ username@ ```