现在的位置: 首页 > 综合 > 正文

putty远程登录免输密码

2013年03月30日 ⁄ 综合 ⁄ 共 1069字 ⁄ 字号 评论关闭

 

首先要知道,远程登录时,进行身份认证的方式有两种:公钥;密码。公钥的方式就是用非对称密码算法,使用公私密钥来进行身份认证。密码的方式就是输入存在于远程电脑上的用户密码从而登录。这两种方式互相独立,使用证书认证过程中涉及到的passphrase和存在于远程电脑上的用户的密码之间没有联系。

下面是在windows上使用putty远程登录免输密码的操作方法。

第一步,生成一对密钥。这得使用putty提供的puttygen工具。打开puttygen,它默认的密钥类型是ssh-2,默认的密钥大小是1024比特,都接受默认值,点击generate按钮。用鼠标在puttygen的空白区域上随意移动(不移动的话进度条就会停下来),完成密钥的生成。

这之后,会显示出生成的public key, key fingerpint, key comment等信息,可以修改key comment以及设置key passphrase,因为我们要免输密码,所以就设置passphrase为空,所谓的免密码,免的就是这里的密码。

第二步,保存这对生成的密钥。puttygen上有相应的按钮,在本例中,把公钥保存为test.pub文件,私钥被保存为test.ppk文件。

第三步:在pageant中加载私钥文件。打开putty附带的pageant,载入刚才生成的test.ppk文件。

第四步:把公钥文件传送到远程开启sshd的电脑上。用传统方式登录到远程电脑上,在本例中我们以root用户登录,进入root的$HOME/.ssh目录下,打开authorized_keys文件,如果没有就新建一个,新增一行内容:ssh-rsa xxxx,其中xxxx是刚才的公钥(第二步中保存的公钥文件中的BEGIN和END之间的那部分)。ssh-rsa表示使用的是rsa算法。这些必须是同一行,不能分成多行。

 

现在一切就绪,本例中远程电脑IP是192.168.0.4,注意putty中的设置,如下图:

 

 回车就登录了。如果是其他用户,比如jcwkyl,那就在putty的host name中写jcwkyl@192.168.9.4。

 

请特别注意权限的设置:

chmod 600 $HOME/.ssh/authorized_keys

chmod g-w $HOME $HOME/.ssh/ $HOME/.ssh/authorized_keys

 

以上方法在redhat 10和cent os5上测试通过。

 

附:顺便贴一个在搜索这个主题时发现的一个挺好的网站的链接:

http://doc.linuxpk.com/1112.html

 

抱歉!评论已关闭.