raspberry pi zero通过usb进行ssh连接

2018年5月9日更新
通过usb ssh连接最新镜像会报如下错误:
ssh: connect to host raspberrypi.local port 22: Connection refused
解决方式如下:
打开boot分区,在该分区下创建一个名为”ssh”的空文件,再次上电连接即可

树莓派zero因为相对来说太小巧,没有提供初始化的网卡,所以我们除了通过串口连接以外,树莓派zero也提供了usb直接连接的方式。即通过Ethernet Gadget模式来连接pc,并进行ssh连接。

Ethernet Gadget模式即USB网卡模式,比较常见的就是我们通过android手机的usb接口对pc进行网络共享的一种手段。一般电脑都会自动识别这种设备,并开启网卡进行共享。

1、修改配置文件
为了进行usb连接,我们需要修改BOOT文件夹下的config.txtcmdline.txt配置文件。
首先在config.txt最末行处换行添加如下代码,打开usb网卡模式:

dtoverlay=dwc2

这里写图片描述

其次在cmdline.txt文件中找到rootwait字段,并在其后面空格添加如下信息,在打开系统时开启usb网卡模式。

modules-load=dwc2,g_ether

这里写图片描述

2、通过usb连接设备

树莓派zero有两个MicroUSB口,一个是电源插口,职司供电的功能,另外一个就是usb接口,它除了供电以外还提供OTG的功能,我们也是通过这个接口来连接pc。

连接成功后网卡会出现以下设备:
这里写图片描述

则证明已经连接好树莓派zero。此时我们可以通过以下代码连接树莓派zero:

ssh pi@raspberrypi.local

但此时ip段为DHCP模式获取,如果我们希望通过ip来连接,则我们需要给树莓派的usb网卡设置ip。

3、设置USB网卡的IP

我们可以通过ifconfig -a来查看我们现在的网卡设备,此时我们可以看到,USB0网卡设备,我们就是通过该设备连接的pc,所以我们需要设置该网卡的ip:
这里写图片描述

sudo nano /etc/network/interfaces

打开网卡配置界面,在最末行添加如下代码来设置固定IP:

allow-hotplug usb0
iface usb0 inet static
        address 192.168.7.2
        netmask 255.255.255.0
        network 192.168.7.0
        broadcast 192.168.7.255
        gateway 192.168.7.1

然后重启usb0网卡:

sudo ifdown usb0
sudo ifup usb0
ifconfig usb0

但树莓派此时实际上是从机,我们需要通过设置pc主机的ip来让树莓派0的usb网卡真正运作起来,那么我们对刚才的usb设备设置如下IP:
这里写图片描述

此时我们就可以通过ip来进行ssh连接了:

ssh pi@192.168.7.2

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试