
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所示。

图2-22 测试网络
2.登录Raspberry
刚配置好的Raspberry的IP设置的是192.168.2.91。我们先打开Putty,如图2-23。

图2-23 Putty
在Host Name(or IP address)下面的文本框中输入Raspberry的IP地址,按Save按钮,创建了一个Putty的会话(session),如图2-24所示。

图2-24 输入用户名
输入默认的用户名pi,按Enter键,界面如图2-25所示。

图2-25 输入密码
输入配置Raspberry时设定的密码后再按Enter键。现在就登录到了Raspberry上了。怎样做到无密码登录呢?这里就先得说说Public Key(公钥)和Private Key(私钥)了。我们暂时可以简单地理解成锁和钥匙的关系。公钥是锁,锁住Raspberry(用在服务端);私钥是钥匙,用来开锁登录(用在客户端)。实际上当然没这么简单,但在这里,我们也只需要有这个概念就可以了。更复杂详细的解释,请参考百度。
在Raspberry上,使用ssh-keygen命令来生成公钥和私钥。先来man一下ssh-kengen命令,如图2-26所示。

图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所示。

图2-27 WinSCP
在主机名下面的文本框输入Raspberry的IP,用户名下面的文本框输入pi,密码下面的文本框输入Raspberry的密码。单击“登录”按钮,出现如图2-28所示窗口。

图2-28 winscp登录
左边窗口显示的是Windows目录,右边窗口显示的是Raspberry的目录。单击id_rsa,将其拖动到左边的目录下。好了,现在id_rsa私钥就被传到Windows目录下了。
6.转换私钥
Putty并不能直接使用这个私钥,我们还得经过一道手续才行。先在Putty目录创建一个keys文件夹,这个文件夹建在哪里都一样,放到Putty目录下只是为了方便而已。假设目录为c:\putty\。打开Putty目录下的puttygen.exe,如图2-29所示。

图2-29 puttygen
单击File菜单中的load private key选项,打开的对话框如图2-30所示。

图2-30 Load private key
怎么什么都没有?没关系,单击“取消”按钮上面的下拉框,将其选取成All Files(*.*),现在id_rsa显示出来了。单击id_rsa私钥文件,再单击“打开”按钮,如图2-31所示。

图2-31 Select private key
单击“确定”按钮,然后单击Save private key按钮,如图2-32所示。

图2-32 Save private key
单击“是(Y)”按钮,出现如图2-33所示界面。

图2-33 保存Putty密钥
在文件名后面的文本框中输入密钥名pi,单击“保存”按钮,得到了pi.ppk文件。将pi.ppk文件拷贝到Putty目录中刚创建的keys目录下。
7.创建快捷方式
在Windows桌面的空白处,右击打开桌面菜单。单击“新建”→“快捷方式”选项,打开的对话框如图2-34所示。

图2-34 创建快捷方式
在“请键入对象的位置”下面的文本框输入:
"c:\PUTTY.EXE" -i "c:\putty\key\pi.ppk " pi@192.168.2.91
注意
这里是假设Putty的目录是c:\putty,可根据自己的实际情况修改。
单击“下一步”按钮,出现图2-35所示界面。

图2-35 快捷方式完成
在“键入该快捷方式的名称”下的文本框输入Raspberry,单击“完成”按钮,就得到了一个名为Raspberry的Putty快捷方式。现在完成了,双击Raspberry快捷方式,就可以直接登录Raspberry了,如图2-36所示。如果想漂亮一点,可自行下载一个Rasbperry的icon图标,换到这个快捷方式上。

图2-36 Putty无密码登录