使用expect工具自动连接树莓派
笔者通常使用ssh+ 密码的方式连接树莓派,指令如下:
ssh eric@<ip_address>
eric@<ip_address>'s password: <input password>
指令虽然简单,但多次输入也较为繁琐。这个问题的解决通常有两个方式:
- 使用ssh + 密钥的方式进行连接
- 使用expect工具进行连接
考虑到可能需要频繁更新树莓派镜像,所以第1种方式暂不考虑,而是采用expect工具进行连接。下面是使用expect工具自动连接树莓派的方式:
1. 确认expect工具是否安装,直接在终端输入which expect
即可。如未找到expect工具,可以使用软件包进行安装。macos下使用homebrew
进行安装,命令如下:
brew install expect
2. 创建shell脚本connect_raspberrypi.sh:
#!/usr/bin/expect
spawn ssh <username>@<ip_address>
expect "password:"
send "<password>\n"
interact
其中:
<username>
域输入树莓派用户名<ip_address>
域输入树莓派IP地址<password>
域输入梅莓派用户密码
3. 赋予脚本可执行权限
chmod +x connect_raspberrypi.sh