使用PuTTY或PieTTY远程免密码登陆Linux

最近在学习Hadoop的时候,搭建了2个子节点的集群,当然学习期间都是在虚拟机上面运行的,从虚拟机之间切换来切换也效率也忒低了,当然是用远程登陆的工具啦,我用的PieTTY,它是在PuTTY的基础上面进行二次开发而来的,功能方面与PuTTY大同小异,使用起来非常方便,但是每次登陆都要输入长长的密码又太麻烦啦,于是想到能否可以指定虚拟机的IP自动登陆呢?答案当然有啦,查看PieTTY的设置就可以发现


通过上面的设置页面我们可以大致了解到,需要远程Linux机器的私钥。OK,那就创建私钥吧。

通过下面的命令我们可以创建通过RSA算法生成的密钥,当然也是可以通过DSA加密算法来生成的,只需要修改最后一个参数为dsa即可。这个看个人喜好,关于RSA以及DSA两种加密算法的区别以及工作原理,请参见文章末尾的参考资料。

ssh-keygen -t rsa

生成过程中一般会询问把公钥私钥存放在哪个位置,默认是~/.ssh/目录下,然后会让你输入私钥的使用口令,作用就是在ssh登陆的时候只需要输入私钥的口令即可,这里同样是可以直接回车略过的。

cd到~/.ssh/目录下,会发现有id_rsa和id_rsa.pub两个文件,分别是私钥和公钥,我们在远程登陆时要的是私钥,但是有一个步骤是不能省略的。

cat id_rsa.pub >> authorized_keys

执行上面的命令把公钥信息追加到authorized_keys(注意文件名一定不能有错),此时把id_rsa私钥复制到远程登陆的使用环境下。从网上下载PuTTYgen这个工具,生成PuTTY可识别的私钥,后缀为ppk。关于PuTTYgen的下载地址请参加文章后面的参考资料。


打开PuTTYgen会有如上的画面,点击load并选择我们刚才从Linux中复制下来的私钥,然后会有一个成功导入的提示,点击Saveprivate key生成PuTTY可以识别的ppk文件(其实就是对私钥加了一段描述修改了后缀而已),OK,保存好这个ppk文件。

打开PuTTY我们先远程登入Linux,这很可能是最后一次使用用户密码登录了哦。为什么要让先登陆一次Linux呢?因为我们可能会使用同一个工具登陆多台Linux,先登录是为了后面的设置可以与这台Linux绑定。同时注意一点,我们刚才使用ssh-keygen命令生成验证密钥的账户要与我们现在登陆的账号保持一致,不然是无法验证通过的。


找到上面的设置页面,点击Browse并选择我们刚才生成的ppk文件。然后还可以从Connection> Data 设置页面中设定自动登陆的用户名为我们想要自动登录的用户名,当然这里的填写的用户名与前面一样也要与该私钥匹配的,不然是无法自动登陆的。完成这些设置之后注意保存修改,下次登陆的时候就可以实现免密码自动登陆了。如下

 

 

转载请注明引用自:http://blog.csdn.net/shawyeok


参考资料:

DSA与RSA两种加密算法的详述

PuTTY以及PuTTYgen工具的官方下载地址

PieTTY的首页,通过这里可以得到关于PieTTY的详细信息

猜你喜欢

转载自blog.csdn.net/kmter/article/details/20393161
今日推荐