在实际的开发和学习中我们会频繁的使用某些远程登录工具,通过网络登录到linux系统中进行程序编写和调试。Putty是比较流行的工具,但是在putty下每次链接到远端linux都要重新输入用户名和密码,就显得有些麻烦了。那么,有没有什么方法来实现双击一下putty图标就能自动免密码链接到远端系统呢?
设置linux ssh服务端
首先,你的linux中要安装好openssh-sever。然后我们要生成ssh秘钥文件。
打开linux命令行终端,输入命令 ssh-keygen。
接下来会有如下图提示,要求输入文件名,这里我直接按回车采用默认参数。
<img id="aimg_Gm5nu" class="zoom" width="500" height="69" file="http://top.embedu.org/uploads/allimg/1603/11-16032P95545U6.jpg" border="0" alt="" />
接下来提示输入密码,太啰嗦了,直接回车!忽略密码。
<img id="aimg_OfeM5" class="zoom" width="500" height="89" file="http://top.embedu.org/uploads/allimg/1603/11-16032P9555N51.jpg" border="0" alt="" />
再次确认密码也一样回车。
<img id="aimg_cSuha" class="zoom" width="500" height="117" file="http://top.embedu.org/uploads/allimg/1603/11-16032P95612Z7.jpg" border="0" alt="" />
接下来提示文件已经保存,以及文件的保存路径。
<img id="aimg_ZuXG3" class="zoom" file="http://top.embedu.org/uploads/allimg/1603/11-16032P95624244.jpg" lazyloadthumb="1" border="0" alt="" />
直接用cd 命令直接进入 .ssh
输入 ls 查看一下,两个文件已经在这里了。
<img id="aimg_LfCoF" class="zoom" file="http://top.embedu.org/uploads/allimg/1603/11-16032P95643I8.jpg" lazyloadthumb="1" border="0" alt="" />
用 mv id_rsa.pub authorized_keys 命令将id_rsa.pub文件重命名,openssh-sever 会在我们的家目录下查找 ./ssh/authorized_keys 作为它验证远端链接的公钥。
<img id="aimg_Npsjm" class="zoom" width="473" height="74" file="http://top.embedu.org/uploads/allimg/1603/11-16032P95F5Z5.jpg" border="0" alt="" />
到此,linux端就设置好了^_^。继续。。。。
设置putty客户端
我们要将id_rsa 这个文件从linux里拷贝出来,方案自选。不过要注意的是,在ubuntu的图形界面下是不显示以 “.”开头的文件的 .ssh目录也自然无法显示。我们可以用cp 命令拷贝到我们的家目录(我的是/home/colin)
<img id="aimg_duTWl" class="zoom" width="354" height="72" file="http://top.embedu.org/uploads/allimg/1603/11-16032P95H2963.jpg" border="0" alt="" />
之后我们就可以在家目录里看到它了
<img id="aimg_Ta5i1" class="zoom" width="500" height="107" file="http://top.embedu.org/uploads/allimg/1603/11-16032P95IQX.jpg" border="0" alt="" />
将文件拷贝到你的windows后我们要进一步设置putty了。
这个id_rsa 是我们要用于自动登录认证的私钥,但是putty还不能直接使用要转换一下。
找到putty源程序的存放目录,找到PUTTYGEN.EXE,如果没有,可以到putty下载页面下载http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
<img id="aimg_Bua5W" class="zoom" width="402" height="363" file="http://top.embedu.org/uploads/allimg/1603/11-16032P95KN44.jpg" border="0" alt="" />
双击运行程序,点击load按钮。
<img id="aimg_kDSts" class="zoom" file="http://top.embedu.org/uploads/allimg/1603/11-16032P95Q2145.jpg" lazyloadthumb="1" border="0" alt="" />
找到生成好的私钥文件并打开。
<img id="aimg_PM4Kl" class="zoom" width="500" height="333" file="http://top.embedu.org/uploads/allimg/1603/11-16032P95S3391.jpg" border="0" alt="" />
点击 Save private key 保存并生成putty能用的私钥。
<img id="aimg_LL3mY" class="zoom" width="483" height="468" file="http://top.embedu.org/uploads/allimg/1603/11-16032P95Z02W.jpg" border="0" alt="" />
随便取个名字保存,我这里叫private注意你保存的路径,别一会儿找不到了。
<img id="aimg_V0FgV" class="zoom" width="500" height="333" file="http://top.embedu.org/uploads/allimg/1603/11-16032P95TM41.jpg" border="0" alt="" />
打开putty,在 Connection->SSH->Auth 菜单下点击 Browse 按钮,选择刚才生成的私钥 private.ppk
<img id="aimg_Z1Nkk" class="zoom" width="456" height="439" file="http://top.embedu.org/uploads/allimg/1603/11-16032P95914456.jpg" border="0" alt="" />
在 connection->data 下输入你的linux用户名。
<img id="aimg_kaCAY" class="zoom" width="456" height="439" file="http://top.embedu.org/uploads/allimg/1603/11-16032P9592Ca.jpg" border="0" alt="" />
在session 的hostname 中输入linux的IP地址;saved sessions 中随便输入一个名字,我这里叫test。然后点击save保存。
<img id="aimg_o7ONK" class="zoom" width="456" height="439" file="http://top.embedu.org/uploads/allimg/1603/11-16032P9594NC.jpg" border="0" alt="" />
好了现在可以测试一下成果!点击open。看看是不是打开了?当然要注意的是你所使用的用户名要在root用户组,否则还是不行。怎么办呢??
用 sudo vi /etc/ssh/sshd_config 打开ssh配置文件
<img id="aimg_ys5gx" class="zoom" width="496" height="27" file="http://top.embedu.org/uploads/allimg/1603/11-16032Q00010c8.jpg" border="0" alt="" />
设置
StrictModes no保存并重启ssh服务。
<img id="aimg_MdOY3" class="zoom" width="500" height="177" file="http://top.embedu.org/uploads/allimg/1603/11-16032Q000262D.jpg" border="0" alt="" />
如果再不行就设置 PermitRootLogin no。然后重启ssh服务。如果还不行,那就加入root组吧。。。。。
顺便再文件尾部再加一句 UseDNS no 这样可以提高登录速度。
<img id="aimg_z8wgb" class="zoom" width="253" height="117" file="http://top.embedu.org/uploads/allimg/1603/11-16032Q00051R5.jpg" border="0" alt="" />
接下来给putty再创建一个快捷方式并取个新名字
<img id="aimg_uhRsE" class="zoom" width="101" height="92" file="http://top.embedu.org/uploads/allimg/1603/11-16032Q0010L05.jpg" border="0" alt="" />
鼠标右键属性
<img id="aimg_J1SAs" class="zoom" file="http://top.embedu.org/uploads/allimg/1603/11-16032Q00121H0.jpg" lazyloadthumb="1" border="0" alt="" />
添加在目标后面 添加 –load test 确定保存。以后直接双击这个图标就可以了。
linux |