SSH反向代理实现内网访问
前提
外网IP开通端口8083,内网监听此端口流量做到内网穿透
1、外网服务设置
打开 /etc/ssh/sshd_config,将GatewayPorts参数设为yes,然后重启sshd服务:
systemctl restart sshd.service
2、内网服务设置反向代理监听
ServerAliveInterval=60保持存活,9000为内网端口可用作nginx端口
ssh -fCNR 0.0.0.0:8083:127.0.0.1:9000 -o ServerAliveInterval=60 root@10.20.50.100 -p 22
查看ssh命令 ps -ef | grep ssh
3、ssh免密登录设置
现在每次连接都需要输入密码,这个问题ssh本身是提供另外一种验证方式——通过密钥验证用户身份,实现自动登录
1)在内网主机上生成公钥和私钥
$ ssh-keygen
...(一直按Enter,最后在~/.ssh/下生成密钥)
$ ls ~/.ssh/
id_rsa id_rsa.pub known_hosts
2)执行ssh-copy-id将公钥拷贝到外网机器
ssh-copy-id root@10.20.50.100