树莓派无路由、无显示器ssh外网直连

前言

先说我一共用到了哪些硬件以及软件:

  • 硬件:
    1.树莓派3b(不含显示器)
    2.笔记本电脑(win10系统)
    3.网线(无路由器)
    4.32G SD卡一张
  • 软件:
    1.VNC(windows版和raspberry版)
    2.Xshell(windows版)
    3.nat123内网映射服务(raspberry版)
    4.JuiceSSH(Android手机版)

由于我用的校园wifi,因此没有路由器,所以直接用网线连接电脑获取到树莓派的ip进行ssh连接。然后想要脱离网线的束缚就比较蛋疼了,因为连接校园网wifi需要在网页里输入账号密码,而树莓派直连电脑使用的是电脑分享的网络,即便我用VNC打开网页连上了校园wifi,但是网线拔了之后树莓派的ip地址将会发生变化,变化后的ip无法得知,也没法用ssh连接。

但这些问题最终都被机智的我一一解决了,最终可以在任何地点都可以通过我的域名www.zyy98.top加映射的12245端口实现外网ssh远程连接。
中间找了不少教程和资料,也走了不少弯路,特此记录下来,希望能够帮到其他基友小伙伴。
下面放几张效果图:

  • PC端ssh访问(使用的是Xshell,不是putty,感觉putty太老了):


    树莓派无路由、无显示器ssh外网直连_第1张图片
    Xshell1.png

    树莓派无路由、无显示器ssh外网直连_第2张图片
    Xshell2.png
  • PC端VNC访问(外网访问贼卡):

  • 手机端ssh访问:


    树莓派无路由、无显示器ssh外网直连_第3张图片
    JuiceSSH.png
  • 手机端VNC访问(也是贼卡):


    树莓派无路由、无显示器ssh外网直连_第4张图片
    VNC.png

好,话不多说,让我们从头开始~

安装系统

1.下载系统镜像并解压

我这里用的是2017-07-05的树莓派官方系统,建议第一次装系统最好都使用官方系统


树莓派无路由、无显示器ssh外网直连_第5张图片
树莓派系统镜像压缩包

解压后的系统镜像后缀名为.img,约有4.34G


树莓派无路由、无显示器ssh外网直连_第6张图片
树莓派系统镜像
2.下载SDFormatter软件并格式化SD卡
树莓派无路由、无显示器ssh外网直连_第7张图片
SDFormatter
3.下载Win32DiskImager软件并烧制系统(以下截图部分来自百度经验)
  • 点击盘符下拉框选择盘符,例如:SD卡为H盘


    树莓派无路由、无显示器ssh外网直连_第8张图片
    选择盘符.png
  • 点击蓝色“文件夹”图标选择镜像,完成后,点击Write,进行写卡,如下图


    树莓派无路由、无显示器ssh外网直连_第9张图片
    选择镜像文件.png

    树莓派无路由、无显示器ssh外网直连_第10张图片
    写入系统.png
  • 提示框直接点YES,格式化SD卡,
    开始写入,速度视电脑与SD 卡的通讯速度而定,
    等待好大会提示 Write Successful!,表示成功。


    树莓派无路由、无显示器ssh外网直连_第11张图片
    image1.png

    树莓派无路由、无显示器ssh外网直连_第12张图片
    image2.png

    树莓派无路由、无显示器ssh外网直连_第13张图片
    image3.png
4.创建ssh文件(此步非常关键!)

自 2016-11 官方发布的 Raspbian 系统镜像,系统默认禁用了 SSH 服务,所以即便成功查询到树莓派ip也不一定能连接成功,因此我们在把SD卡装入树莓派前就要确保系统的SSH是打开的。
重新开启也很简单,进入到根目录(boot下),新建一个名为ssh的空白文件就行了,文件不要有后缀名,也不需要写入任何内容。


树莓派无路由、无显示器ssh外网直连_第14张图片
image.png
5.将SD卡插入树莓派,给树莓派通上电源,过一会观察到有绿灯亮则说明系统刷入成功

查找树莓派ip并使用SSH登录

1.在插网线之前要把被连接的电脑设置好
  • 打开电脑的控制面板,选择“网络和Internet”中的“查看网络状态和任务”


    树莓派无路由、无显示器ssh外网直连_第15张图片
    控制面板.png

    默认打开的控制面板可能是这个样子的,只要返回上一级目录就能看到上图了


    树莓派无路由、无显示器ssh外网直连_第16张图片
    默认控制面板.png
  • 选择更改适配器设置


    树莓派无路由、无显示器ssh外网直连_第17张图片
    更改适配器设置.png
  • 选择你电脑已连接到的网络,比如我连接的是WLAN,就右击然后选择属性


    树莓派无路由、无显示器ssh外网直连_第18张图片
    image.png
  • 点击“共享”


    树莓派无路由、无显示器ssh外网直连_第19张图片
    image.png
  • 选中“允许其他网络用户通过此计算机的Internet连接来连接”


    树莓派无路由、无显示器ssh外网直连_第20张图片
    image.png
  • 选择“以太网”,点击“确定”


    树莓派无路由、无显示器ssh外网直连_第21张图片
    image.png
2.把网线的一头插在树莓派上,另一台插在自己电脑上(插上后树莓派的接口处会亮黄绿灯)
3.打开电脑的cmd,输入arp -a,会列出很多ip地址
树莓派无路由、无显示器ssh外网直连_第22张图片
cmd.png

电脑本身的ip基本都是192.168.****,比如我的电脑是192.168.137.1,那么在这个接口下可以看到一个类型为动态的ip,其地址为192.168.137.137(事实上这个ip已经被我改过了,被设置为了固定的ip,第一次查找的时候大概是192.168.137.23这个样子),这个就是树莓派的ip地址。反正192.168开头的就这么几个,就算找不到,一个一个试也不会花费多少时间,反而网上有教程用ipscanner软件扫描倒是浪费了大把的时间。

4.SSH连接树莓派
  • 在电脑上打开Xshell或者putty软件,输入ip名和SSH端口号(默认为22),点击确定


    树莓派无路由、无显示器ssh外网直连_第23张图片
    image.png
  • 接受并保存


    树莓派无路由、无显示器ssh外网直连_第24张图片
    image.png
  • 输入初始用户名pi,点击确定


    树莓派无路由、无显示器ssh外网直连_第25张图片
    image.png
  • 输入初始密码raspberry(我的已经被我改了),点击确定


    树莓派无路由、无显示器ssh外网直连_第26张图片
    image.png
  • 显示下面的图片就是登录成功了,ls一下看看目录吧


    树莓派无路由、无显示器ssh外网直连_第27张图片
    image.png
5.VNC连接树莓派
  • 树莓派默认的VNC服务是没有打开的,直接在命令行下输入"tightvncserver"开启服务,第一次需要设置密码,直接按照提示设置就可以了


    树莓派无路由、无显示器ssh外网直连_第28张图片
    开启VNC服务.png
  • 打开电脑上的VNC Viewer,输入ip和默认端口5901


    树莓派无路由、无显示器ssh外网直连_第29张图片
    image.png
  • 双击


    树莓派无路由、无显示器ssh外网直连_第30张图片
    image.png
  • 输入配置好的密码,开始连接


    树莓派无路由、无显示器ssh外网直连_第31张图片
    image.png

    直接网线这样连接速度还是挺快的


    image.png

获取通过wifi连接的树莓派ip

我们的树莓派目前一直插着网线,经个人测试,只要插着网线,使用的就一直是电脑分享的网络,不管树莓派上的wifi有没有连接都没什么卵用。不过wifi还是要连的,下步会用到。

我用的是校园网,连接后要在网页输入账号密码,所以只好用VNC操作了,连接上wifi后,打开Xshell,在终端输入"ifconfig",会看到输出下面的信息:


树莓派无路由、无显示器ssh外网直连_第32张图片

其中eth0下能看到连接电脑所获取到的ip,而wlan0下则能看到连接wifi获取到的ip,我的是172.17.49.185,当然这个也可以设置为静态的,但是我发现它从来没有变过,所以就没改,能懒一点是一点吧。

对于一般的wifi来说,这样就可以了,拔掉网线后树莓派也仍能联网。但是校园网实在坑啊,拔掉网线或者重启后都必须要再次输入校园网账号密码,不会自动保存,这和windows是不一样的。我在这里遇到了瓶颈,一筹莫展,甚至想要买个转接头接室友的显示器。后来去店里问了下,只剩一个很垃圾的转接头还要收我25块,不买!然后回来就想到了解决办法
。。。我去吃饭了,回来继续写。。。。

进行内网映射

到现在为止,已经可以通过命令行和GUI两种方式访问树莓派了,如果你的手机和电脑处在同一网段下,那么现在也可以通过手机直接访问树莓派。但这个前提是你的电脑处于开机状态,想通过树莓派访问互联网还必须得电脑也处于联网状态下。而我处在校园网环境下,手机连接树莓派行不通。要想突破这些限制,就必须得使用内网映射,去掉网线,让树莓派直接通过wifi连接到互联网,然后将本地ip映射到域名,将本地端口映射到自定义端口,然后就可以通过域名+自定义端口的方式随时随地通过任何设备访问到树莓派了,所需的只是树莓派保持开机并联网。

国内比较知名的两家内网映射服务商只有花生壳和NAT123。之前用过花生壳,还不错,但是局限很多,比如限制流量、不能使用自己的域名等,而且实名认证起来也比较麻烦。后来就转用了NAT123,最大的缺点就是非VIP限速,用VNC非常卡,不过SSH下倒没什么问题,就凑活着用吧。下面讲讲怎么使用NAT123服务进行内网映射。

1.注册NAT123账号并进行实名认证

官网在这:http://www.nat123.com/
比较奇葩的是它这个实名认证就是直接通过支付宝充30块钱。不充行不行?我试了,还真不行!

2.添加端口映射
树莓派无路由、无显示器ssh外网直连_第33张图片
选择端口映射列表

添加端口映射

应用类型选择其他(非网站),名称随便,这里映射的是ssh端口,因此我给他取名ssh,内网端口就是默认的ssh端口22,内网地址填


树莓派无路由、无显示器ssh外网直连_第34张图片

未完待续,有时间继续更......

你可能感兴趣的:(树莓派无路由、无显示器ssh外网直连)