友情提示:380元/半年,儿童学编程,就上码丁实验室。
上篇我们安装了Raspbian,但是我又不想用额外配显示器,键盘,鼠标等,我希望用我的MacBook来控制。下面我们就介绍几种远程登入树莓派的方法(SSH,VNC和SAMBA)。
SSH登入
1. 假如我安装完树莓派但又没有显示器可以显示,那我该怎么办呢?最新下载的Raspbian默认是关闭ssh端口的,我们需要将SD卡通过读卡器连接到你的电脑,然后新建一个名为SSH的文件,不带任何后缀。
touch /Volumes/boot/SSH

最后将SD卡插回树莓派,开机以后就自动开启ssh端口了,这样我们可以通过以下命令进行登入了。正常来说第一次改了以后开机它会提示你修改密码(修改密码前先修改键盘为US默认是UK,以免造成因为键盘的问题导致密码错误),说明ssh已经开通了。

登入的默认账号是pi,密码是raspberry,ip地址可以通过查看路由器获取。
ssh pi@192.168.1.201
第一次登入会提示,输入yes。
The authenticity of host '192.168.1.201 (192.168.1.201)' can't be established.
ECDSA key fingerprint is SHA256:TOu429Ldz8dbGbw+yPks8VT+uIKqqyHR2qUtaAZWmnw.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.201' (ECDSA) to the list of known hosts.
pi@192.168.1.201's password:
输入密码以后就登入raspbian了。
Linux raspberrypi 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Mar 2 12:32:33 2018
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
pi@raspberrypi:~ $
2. 还有一种办法就是如果你有高清显示器,树莓派开机以后在命令行通过命令进行设置。
sudo raspi-config
然后依次选择 5 Interfacing Options -> P2 SSH -> Yes -> OK,这样就开启了ssh端口了。




3. 开通ssh登入后,为了方便以后登入可以将IP设为静态IP,这样就可以通过设定的IP登入到树莓派系统了。
sudo vi /etc/dhcpcd.conf
在文件最后输入以下代码,将有线设为192.168.1.200,将无线设为192.168.1.201。
interface eth0
static ip_address=192.168.1.200
static routers=192.168.1.1
static domain_name_servers=114.114.114.114
static domain_name_servers=114.114.115.115
interface wlan0
static ip_address=192.168.1.201
static routers=192.168.1.1
static domain_name_servers=114.114.114.114
static domain_name_servers=114.114.115.115
重启电脑以后输入ifconfig就能看到你的IP变为192.168.1.201了 (如果是有线的话应该是192.168.1.200)。这样你可以使用设置的IP进行登入了。
ssh pi@192.168.1.201
VNC连接
1. 在树莓派命令行输入命令安装VNC Server。
sudo apt-get install tightvncserver
2. 启动VNC Server,第一次启动时会要求设置VNC登入密码,可以设置成和系统登入密码一致。设置完密码后,会询问是否要view-only的密码,我选择n。
tightvncserver
3. 可以使用以下命令修改vnc密码。
vncpasswd
4. MacBook这边下载VNC Viewer,并进行安装。
5. 打开VNC Viewer并输入树莓派地址和端口进行连接。

6. 可以设置为开机启动,这样就不用每次在树莓派里面输入tightvncserver命令了。
sudo vi /etc/init.d/tightvncserver
并添加以下内容。
#!/bin/sh
# /etc/init.d/tightvncserver
# Set the VNCUSER variable to the name of the user to start tightvncserver under
VNCUSER='pi'
case "$1" in
start)
su $VNCUSER -c '/usr/bin/tightvncserver :1'
echo "Starting TightVNC server for $VNCUSER"
;;
stop)
pkill Xtightvnc
echo "Tightvncserver stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit 0
增加执行权限。
sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults
重启以后就可以用vnc客户端登入了。
sudo reboot
7. 连接上以后就能看到树莓派系统了,并且可以进行控制。

Samba文件共享
1. 树莓派安装Samba。
sudo apt-get install samba
2. 配置/etc/samba/smb.conf。
sudo vi /etc/samba/smb.conf
3. 修改以下字段。
browseable = yes
read only = no
create mask = 0755
directory mask = 0755
4. 增加Samba用户,并输入密码,建议与系统一致。
sudo smbpasswd -a pi
5. 重启Samba服务。
pi@raspberrypi:~ $ service smbd restart
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'smbd.service'.
Multiple identities can be used for authentication:
1. ,,, (pi)
2. root
Choose identity to authenticate as (1-2): 1
Password:
==== AUTHENTICATION COMPLETE ===
6 电脑端访问Home Assistant文件夹。
6.1 首先进入Mac System Preferences界面,点击Sharing。

6.2 勾选File Sharing。

6.3 右键Finder文件夹,选择connect to server, 然后输入smb:// +ip,点击connect。

6.4 选择Registered User,输入账号密码点击Connect。

6.5 选择pi,点击OK。

6.6 这样打开文件夹,点击左侧的rasberrypi就可以看到树莓派的目录了。

忘记密码
- 关闭电源并从您的Pi中拔出SD卡并将其放入计算机中。
- 打开文件’ cmdline.txt ‘并在最后添加’ init = / bin / sh ‘。这将导致机器启动到单用户模式。
- 将SD卡放回Pi并引导。
- 出现#提示时,键入’ su ‘以root身份登录(不需要密码)。
- 输入“ passwd pi ”,然后按照提示输入新密码。
- 如果更改密码出错,输入以下命令然后再输入更改密码命令。
mount -o remount,rw /
- 关闭机器,然后再次拔出卡,并通过删除’ init = / bin / sh ‘位将cmdline.txt文件恢复原样。
添加后cmdline.txt应该是这样的:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=33017f22-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles init=/bin/sh
删除init=/bin/sh后是这样的:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=33017f22-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles