10分钟使用腾讯轻量应用服务器与frp开启内网穿透实现ssh

下载

客户端和服务器都要下载这个文件

frp_0.38.0_linux_amd64.tar.gz

解压

请在客户机(也就是需要进行内网穿透的本地机)和服务器执行相同操作:

解压:tar -xvf frp_0.38.0_linux_amd64.tar.gz

放到local目录下:mv frp_0.38.0_linux_amd64 /usr/local/frp

cd /usr/local/frp

服务器配置

登录到腾讯云服务器,下载解压步骤。

ls查看目录:

image-20220122115136816

frps是服务器对应的执行文件,frps.ini是服务器配置文件。

修改frps配置文件:vim frps.ini

[common]
bind_port = 33300              

这个 bind_port就是frps的监听端口,可以修改为你需要制定的端口,在云服务器中,我们一般不会使用默认端口,因为这可能会导致出现病毒攻击。

腾讯云设置:找到防火墙管理规则,开放暴露端口。

注意

如果你要通过frp进行ssh访问,还要开启一个ssh访问端口,也就是要暴露两个端口,一个 33300端口,一个 33301端口,其中33301端口用于提供ssh服务。

image-20220122121136085

总结,修改配置文件,开放两个端口。

如果执行报错,可以执行 chmod 777 frps 增加权限。

执行

/usr/local/frp/frps -c /usr/local/frp/frps.ini

image-20220122122845140

注册为系统服务

sudo vim /usr/lib/systemd/system/frps.service

[Unit]
Description=frps Service
Documentation=https://github.com/fatedier/frp
After=network.target nss-lookup.target

[Service]
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini 
Restart=on-failure
RestartPreventExitStatus=23

[Install]
WantedBy=multi-user.target                                

重载服务:systemctl daemon-reload

开启服务:systemctl start frps

查看服务状态:systemctl status frps

设置开机自启动:systemctl enable frps

客户端

客户端配置

frpc是客户端对应的执行文件,frpc.ini是客户端配置文件。

执行之前相同的下载解压cd命令

修改客户端配置:vim frpc.ini,[ssh]设置了ssh端口,remote_port指的是你的服务器应该用33301端口来提供ssh服务,因为我们之前开放了服务器的33301端口。

[common]
server_addr = 你的服务器公网ip
server_port = 33300 

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 33301                                    

同样,注册为服务:sudo vim /usr/lib/systemd/system/frpc.service

[Unit]
Description=frps Service
Documentation=https://github.com/fatedier/frp
After=network.target nss-lookup.target

[Service]
ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.ini
Restart=on-failure
RestartPreventExitStatus=23

[Install]
WantedBy=multi-user.target
~                                     

重载服务:systemctl daemon-reload

开启服务:systemctl start frpc

查看服务状态:systemctl status frpc

设置开机自启动:systemctl enable frpc

ssh连接

ok,现在我们可以用ssh来连接到这个内网主机了。

ssh -p 33301 内网机需要登录的用户名@服务器的公网ip

完美,这样我们就完成了内网穿透实现ssh连接了。

---更新---

最近的frpc客户端突然连接不上去了,而且还报错:login to server failed: i/o deadline reached i/o deadline

解决办法:在ini文件中[common]中添加:tls_enable = true,并重启客户端机。

posted @   kalice  阅读(1514)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
点击右上角即可分享
微信分享提示