![树莓派开发从零开始学:超好玩的智能小硬件制作书](https://wfqqreader-1252317822.image.myqcloud.com/cover/653/27110653/b_27110653.jpg)
2.3.1 Windows远程无密码登录
Putty是一个Telnet、SSH、Rlogin、纯TCP以及串行接口连接软件,它支持Windows、Linux、Bsd平台,据说正在开发Mac OS版本的Putty。Putty体积小、功能强,使用方便,是SSH连接工具中的明星软件。本书统一使用Putty来连接Raspberry。
1.确定网络
首先得确定,Raspberry和正在使用的Windows PC在同一局域网内,或者两者之间能连通。单击“开始”→“附件”→“命令提示符”打开命令窗口,如图2-22所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00024.jpeg?sign=1739151026-Tkl0dn26ksvww8K5tLFyyzwYqKj1jRVU-0-7e09141732262b0d668645299a8fc819)
图2-22 测试网络
2.登录Raspberry
刚配置好的Raspberry的IP设置的是192.168.2.91。我们先打开Putty,如图2-23。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00025.jpeg?sign=1739151026-IK6eTMA2d4Amg6Kc30WzmDhdMs571dvQ-0-94da93bdb0987363a758579f4cf96fb6)
图2-23 Putty
在Host Name(or IP address)下面的文本框中输入Raspberry的IP地址,按Save按钮,创建了一个Putty的会话(session),如图2-24所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00026.jpeg?sign=1739151026-CtowWhFwB0eXE6h8wJgKioUAahzgMTHn-0-52670fec1c903cd507d8262ce1dbe98e)
图2-24 输入用户名
输入默认的用户名pi,按Enter键,界面如图2-25所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00027.jpeg?sign=1739151026-rWWEkWUZ3eM7YgMOD2PaE7xklLextZBC-0-80442528786dff6603e33436558efa96)
图2-25 输入密码
输入配置Raspberry时设定的密码后再按Enter键。现在就登录到了Raspberry上了。怎样做到无密码登录呢?这里就先得说说Public Key(公钥)和Private Key(私钥)了。我们暂时可以简单地理解成锁和钥匙的关系。公钥是锁,锁住Raspberry(用在服务端);私钥是钥匙,用来开锁登录(用在客户端)。实际上当然没这么简单,但在这里,我们也只需要有这个概念就可以了。更复杂详细的解释,请参考百度。
在Raspberry上,使用ssh-keygen命令来生成公钥和私钥。先来man一下ssh-kengen命令,如图2-26所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00028.jpeg?sign=1739151026-9QNkuu6XBQeoj9n9quqv4nRumgz37RK1-0-3bbdb661cad87b5a63374009041e20c8)
图2-26 man ssh-keyen
ssh-kengen的参数很多,我们只需要知道其中的两个就可以了。
● -P:提供密码。
● -t:加密方式,可以使用:rsa1(SSH-1)rsa(SSH-2)dsa(SSH-2)。
3.创建公钥、私钥
在刚登录的Putty会话中输入命令:
ssh-keygen –t rsa –P “”
注意
这里的命令不需要加sudo,直接登录用户执行命令。
这个命令的作用是,使用ssh-keygen命令来创建一对密钥,加密方式是rsa,密码为空。按Enter键,就会在/home/pi/目录下创建了.ssh目录和.ssh/id_rsa、.ssh/id_rsa.pub文件。其中id_rsa就是私钥,id_rsa_pub就是公钥。
4.公钥作用于服务端
现在我们把锁(公钥public key)挂到Raspberry的大门上。执行命令:
cat /home/pi/.ssh/id_rsa.pub >> /home/pi/.ssh/authorized_keys
5.私钥传至客户端
把私钥分发给需要登录Raspberry的主机就可以了。
下面使用WinSCP这个软件,将Raspberry上的私钥id_rsa拷贝到Windows下,如图2-27所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00029.jpeg?sign=1739151026-WPqgFTqmCkDGMfDQvyXQFWAKWx11RwzT-0-633b3e4cffbb868590b11fb78b734f29)
图2-27 WinSCP
在主机名下面的文本框输入Raspberry的IP,用户名下面的文本框输入pi,密码下面的文本框输入Raspberry的密码。单击“登录”按钮,出现如图2-28所示窗口。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00030.jpeg?sign=1739151026-mA4SXkK4aJtw7gMKejPnUOz05ABDQrMp-0-21f119c36b3ba218fb0edc0c4ece90b6)
图2-28 winscp登录
左边窗口显示的是Windows目录,右边窗口显示的是Raspberry的目录。单击id_rsa,将其拖动到左边的目录下。好了,现在id_rsa私钥就被传到Windows目录下了。
6.转换私钥
Putty并不能直接使用这个私钥,我们还得经过一道手续才行。先在Putty目录创建一个keys文件夹,这个文件夹建在哪里都一样,放到Putty目录下只是为了方便而已。假设目录为c:\putty\。打开Putty目录下的puttygen.exe,如图2-29所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00031.jpeg?sign=1739151026-z0xNOH2ggZnE1TarqE4caVGOEO9yf4vc-0-59c47f40ec2333e90a94f19f2024f7b0)
图2-29 puttygen
单击File菜单中的load private key选项,打开的对话框如图2-30所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00032.jpeg?sign=1739151026-LU1woba4loDAI0RkxYI1MOunFqKyFtUz-0-ec73b207abe03ac21d7350da48f369a0)
图2-30 Load private key
怎么什么都没有?没关系,单击“取消”按钮上面的下拉框,将其选取成All Files(*.*),现在id_rsa显示出来了。单击id_rsa私钥文件,再单击“打开”按钮,如图2-31所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00033.jpeg?sign=1739151026-8FIHVfQ3gILM6OFH37DDC866NlxT17f8-0-cf0952ea4bb9381adc53205bdf2e5e1b)
图2-31 Select private key
单击“确定”按钮,然后单击Save private key按钮,如图2-32所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00034.jpeg?sign=1739151026-ZqHGEWk780kx1xWJLqUJaIzVd2GuLOO5-0-a03c1de24a4a132a6029321fd567410a)
图2-32 Save private key
单击“是(Y)”按钮,出现如图2-33所示界面。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00035.jpeg?sign=1739151026-aCS9MAOFwkG2Ym2hoeMuT6gRCAq3oyFk-0-a21bc3c0b57cac1c692748d3b6e81b42)
图2-33 保存Putty密钥
在文件名后面的文本框中输入密钥名pi,单击“保存”按钮,得到了pi.ppk文件。将pi.ppk文件拷贝到Putty目录中刚创建的keys目录下。
7.创建快捷方式
在Windows桌面的空白处,右击打开桌面菜单。单击“新建”→“快捷方式”选项,打开的对话框如图2-34所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00036.jpeg?sign=1739151026-N2nM3px72yEAWr1gtAjkxaBJjazNk3iY-0-e83540b19dedadb2ed454e7e4d01d190)
图2-34 创建快捷方式
在“请键入对象的位置”下面的文本框输入:
"c:\PUTTY.EXE" -i "c:\putty\key\pi.ppk " pi@192.168.2.91
注意
这里是假设Putty的目录是c:\putty,可根据自己的实际情况修改。
单击“下一步”按钮,出现图2-35所示界面。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00037.jpeg?sign=1739151026-2YknRpQQfAMoQx1Xzsnzved4uoEFPl0y-0-ce03fd5ed5c7a4c3552192a8a6a92c64)
图2-35 快捷方式完成
在“键入该快捷方式的名称”下的文本框输入Raspberry,单击“完成”按钮,就得到了一个名为Raspberry的Putty快捷方式。现在完成了,双击Raspberry快捷方式,就可以直接登录Raspberry了,如图2-36所示。如果想漂亮一点,可自行下载一个Rasbperry的icon图标,换到这个快捷方式上。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00038.jpeg?sign=1739151026-nfJOxfEecrdYsgSFDcIkQIExKFQ0siol-0-65d2a353a89c8dc59f3f5b55bde528e0)
图2-36 Putty无密码登录