树莓派放在家里当作服务器,但有时候需要在公网上通过SSH登陆,这时我们可以通过TCP转发来远程控制树莓派,而且是完全免费的。以下是具体的教程。
一、啥是TCP转发
TCP是Transmission Control Protocol的缩写,即传输控制协议的缩写,是一种面向连接的、可靠的、基于字节流的传输层通信协议,在计算机网络OSI模型中,是第四层传输层指定的功能。在传输层中另一个重要的传输协议是UDP。
通过SSH登陆树莓派,使用了TCP传输协议,所以要在公网通过SSH登陆树莓派,就需要使用TCP转发。
二、搭建TCP转发
在这篇文章树莓派使用Ngrok进行内网穿透,在公网上搭建个人博客中,使用ngrok进行http的穿透,这里TCP转发类似,同样在提Ngrok进行TCP转发。这里我使用的http://www.ngrok.cc/提供的服务。
1、添加TCP隧道
在隧道管理中,新建一个用户树莓派TCP转发的隧道。
隧道名称:可以随便填写,无关紧要只是为了一个备注
远程端口:用于通过服务器外网访问的端口
本地端口:可以为同一个局域网内任意一台机器进行映射,只需要填对ip和端口就行,这里选择树莓派的IP地址和端口,例如:192.168.1.1:22
开通后的隧道信息
点击确定修改,完成新建隧道操作。
2、启动隧道
在启动隧道前,要在树莓派上安装Ngrok客户端,按照这篇文章中的方式安装客户端:树莓派使用Ngrok进行内网穿透,在公网上搭建个人博客
安装完客户端后使用这个命令在树莓派上启动隧道:
./sunny clientid 隧道id
三、通过SSH远程连接树莓派
之后就可以远程连接树莓派了,通过下面命令连接 ,其中15586 是在建立隧道时选择的远程端口号。
ssh -p 15586 admin@free.idcfengye.com
直接用ipv6地址就行了,哪那么麻烦
就算用ipv6地址,它也不是固定的,还是不能长久使用