上篇文章介绍了通过frp实现内网穿透 https://cloud.tencent.com/developer/article/2186450
ssh是系统自带的,无需安装就能实现ssh服务的代理
模拟场景
- 一台公网服务器(Linux,47.98.227.00)
- 一台虚拟机(Linux,相当于内网服务器)
- ssh服务测试:宿主机通过frp访问虚拟机;公网服务器通过frp访问虚拟机
公网服务器
将GatewayPorts
改为yes
,然后重启sshd服务
[root@iZbp1430s16l9piu268n8rZ voice]# vi /etc/ssh/sshd_config
#GatewayPorts no
GatewayPorts yes
[root@iZbp1430s16l9piu268n8rZ voice]# systemctl restart sshd
虚拟机
执行
代码语言:javascript复制ssh -Nf -R 6999:localhost:22 root@47.98.227.00
如上,可能会提示你输入密码,想实现免密码,将虚拟机的public key添加的公网服务器即可。[root@iZbp1430s16l9piu268n8rZ voice]# echo '虚拟机的public key'>> ~/.ssh/authorized_keys
如果要实现自动重连,可以了解一下autossh
测试一下
通过宿主机或其他电脑执行,不出意外就能连到虚拟机了
代码语言:javascript复制ssh -p 6999 root@47.98.227.00
提示
端口6999
要在公网服务器开放