![树莓派开发从零开始学:超好玩的智能小硬件制作书](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=1739530220-OQJYYhbxp1o5fv8Gydi24u713j9o6yKf-0-1437bd646578b251a88ba0b0f1ffe245)
图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=1739530220-FS3nONhXxTbTSPslWB0ppJJjEOCNX3Vs-0-4c19a3cb03ae362332e43c774cc7b652)
图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=1739530220-Bv6xWRSp2AhToOgiZLSi0OkGhlrFjLqE-0-56f744d54b70b2f370ebdbf63bc5ded3)
图2-24 输入用户名
输入默认的用户名pi,按Enter键,界面如图2-25所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00027.jpeg?sign=1739530220-VKvwg8TqMPFqJJD28qwwgnTIzrS9SeJC-0-05d1cfef4601c5173529d21b229603b3)
图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=1739530220-lsN57cmVfsViyK04Bg9olOjtG6WdMVXT-0-f66ff571e7343ec0be220022cddc37af)
图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=1739530220-4bltDZVJSe9WuFaDUXYv17L6sxhQQlxd-0-626100b8fa591d391dd18e623cd4add6)
图2-27 WinSCP
在主机名下面的文本框输入Raspberry的IP,用户名下面的文本框输入pi,密码下面的文本框输入Raspberry的密码。单击“登录”按钮,出现如图2-28所示窗口。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00030.jpeg?sign=1739530220-DjXq5GOVFzcQtdc4z3FTHa89sKhD8lxv-0-09ff10a1b9ea34853339bb749f40f86f)
图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=1739530220-erdfgTw6mPtkeZtxClrZZt3STaK3nAtm-0-512bb664de97fe3b80754396093ffc5c)
图2-29 puttygen
单击File菜单中的load private key选项,打开的对话框如图2-30所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00032.jpeg?sign=1739530220-BmEwTgXIxMfP31xKUBxqjjvvX8CYyKdr-0-1c7343d162d20d6ff3eab2800cf853a0)
图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=1739530220-V8HkkqqDzLDj7UIxkHMVrcuoe4v3oju9-0-e3394f7f944b276900b50c468bf7eb8d)
图2-31 Select private key
单击“确定”按钮,然后单击Save private key按钮,如图2-32所示。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00034.jpeg?sign=1739530220-nuvvGt6PXBvuA9rUNgWwWRAerWkP3ZG8-0-10f56d0e4d56557be911cdfd774537ad)
图2-32 Save private key
单击“是(Y)”按钮,出现如图2-33所示界面。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00035.jpeg?sign=1739530220-lmbe0YS0EtQFopTPaseE65G9zmG89bPT-0-5a41fda14400e5c4582cb5e9ec1e8d86)
图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=1739530220-5QvNIVM8nlgx0JGVJjYXQ5VoM8JMJy8G-0-b4d675dd4f39adf26fcb72ec6d899d57)
图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=1739530220-FYJQm2EUyVaDncfQ6FU07ilTcHQJMArk-0-c2180c45934b7964b7cf5e66ebfe139a)
图2-35 快捷方式完成
在“键入该快捷方式的名称”下的文本框输入Raspberry,单击“完成”按钮,就得到了一个名为Raspberry的Putty快捷方式。现在完成了,双击Raspberry快捷方式,就可以直接登录Raspberry了,如图2-36所示。如果想漂亮一点,可自行下载一个Rasbperry的icon图标,换到这个快捷方式上。
![](https://epubservercos.yuewen.com/CF2320/15477641204533506/epubprivate/OEBPS/Images/00038.jpeg?sign=1739530220-k8SqgLtBqK6EL9p9OEEyEUxMooRQxrG3-0-2b7bc70baaaf028fe094fce5073051ab)
图2-36 Putty无密码登录