![树莓派开发从零开始学:超好玩的智能小硬件制作书](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=1739692659-wsMpcLhuxXrcWQSZR8bS3QurcpUW9kf4-0-06a70663a7c1f356291674138c4a5460)
图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=1739692659-t7JH8hkCA02SVw819z4MdyGCFRp4yJwt-0-c27c1183a3a4d345d65af60099859040)
图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=1739692659-2L3MbWQkbDx3BlyGSSQ25iNunJNdZeaX-0-25b26c7913cf6fef8ff87db9f9660933)
图2-24 输入用户名
输入默认的用户名pi,按Enter键,界面如图2-25所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00027.jpeg?sign=1739692659-OA8S4vhkogMpdHN4Fc8s5kjRSErq9rCS-0-932014ae787261526b2ee29c26a54433)
图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=1739692659-FBfqArVCDyHGMI1BH1DqR5bWOYq2md7F-0-dad087ab465a7590122cbeca9aa543ec)
图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=1739692659-568sYgJ0OoxV4LkrW67jEV34XQuJ9GAp-0-7815ee4eb9afde048e44b388cacb90d3)
图2-27 WinSCP
在主机名下面的文本框输入Raspberry的IP,用户名下面的文本框输入pi,密码下面的文本框输入Raspberry的密码。单击“登录”按钮,出现如图2-28所示窗口。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00030.jpeg?sign=1739692659-N8vGgxyYMAePc6bX5amLtF2bSbeiNe6o-0-4e07dc45531c6cebd446b3b5658b2432)
图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=1739692659-2RQJw0o6iJRw2iHxCWszEDrBiyJihUGJ-0-e7af2c91adc019f65614ee457492a44b)
图2-29 puttygen
单击File菜单中的load private key选项,打开的对话框如图2-30所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00032.jpeg?sign=1739692659-PRVFyxsIdeQgc2JSasUrpdehwiJbRezE-0-6caa416f69e0e65f9c0d1a4224fcee1a)
图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=1739692659-FmgR6yEzK0BB7CFH1fThFrmeDzmcuYJi-0-95fa9d7400c7d93bf34ef0783d9ea868)
图2-31 Select private key
单击“确定”按钮,然后单击Save private key按钮,如图2-32所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00034.jpeg?sign=1739692659-hOQY4bHVChbxGADcASVZS6pLZip0b4ut-0-475db1b95f55c16769b48a32bcd2e0b5)
图2-32 Save private key
单击“是(Y)”按钮,出现如图2-33所示界面。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00035.jpeg?sign=1739692659-7EH6Y3sxQPaYKsULVOTJrjIFvBJCToO8-0-706050798faad39512efeba61ddb868e)
图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=1739692659-eTQdJfcX5PiYT8quIeVu3CLSSdS5vspx-0-47da2024dc791ece3e0cd6897fba1ffb)
图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=1739692659-s8mT2FQ57vJTynTNI3iCBBkY3ZwdQjxB-0-5563d68d93d5977d46005ba0969660e4)
图2-35 快捷方式完成
在“键入该快捷方式的名称”下的文本框输入Raspberry,单击“完成”按钮,就得到了一个名为Raspberry的Putty快捷方式。现在完成了,双击Raspberry快捷方式,就可以直接登录Raspberry了,如图2-36所示。如果想漂亮一点,可自行下载一个Rasbperry的icon图标,换到这个快捷方式上。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00038.jpeg?sign=1739692659-8mIaYvjc2bbJUXUNQLX4cauHN1WJK5To-0-306b1ce6feb07e8c857ba6e019bed439)
图2-36 Putty无密码登录