全部博文(37)
分类: LINUX
2011-05-17 09:53:58
2010-9-9
fnst~bangzi
背景介绍随着Linux在服务器端应用的普及,Linux系统的管理越来越依赖于远程操作。在各种远程登录工具中,Putty是一款非常出色的工具。他是一款免费的,windows32平台下的telnet,rlogin和ssh的客户端工具,但是功能却丝毫不逊色于商业的telnet类工具。
本文目的你是否对每次登陆putty后都要输入用户名和密码而感到麻烦?你是否会由于一个不小心将用户名输错而需要关闭然后重新打开putty进行登录呢?如果是这样的话,请继续阅读本文,本文将告诉你一种方法让你摆脱这种苦恼,实现不需要输入用户名和密码的方式自动登录远程主机。
Putty传统登录原理简介传统的用户登录方式是,用户填写host name(ip adress)后putty发送请求,远程主机端在接收到请求后要求输入用户名和密码,这时候正确的输入就已经可以登录了,但是在putty自动登录时是不涉及到用户名和密码的。也就是说你登陆所要用到的信息与你在远程主机上的用户名和密码是没有关系的。
Putty自动登录原理简介Puttygen.exe是一款putty配套的工具用来产生一对密钥,public key和private key,这对密钥是采用非对称的形式进行加密的(RSA),可以充分保证数据的安全性。Public key公有密钥保存到你想要登录的远程主机,private key由你自己保存。这样在利用携带着private key(私有密钥)的putty进行登录时,putty都会把这个private key传到你想要登录的远程主机上,远程主机先利用public key来加密你的用户名,然后用private key进行解密,再和你的用户名进行比较,如果相同,则是合法用户,登录成功。否则,登录失败。
具体操作步骤1. 进入putgen.exe,生成SSH2-2RSA密钥(默认),点击generate。然后在空白区域移动鼠标,产生key pair。为什么要不断移动鼠标涅,这是因为编写程序的人员是根据鼠标移动产生的随机数来进行密钥生成的。
图1-1Puttygen产生密钥界面
2. 在产生完key pair后将编辑框区域的Public key 复制,然后进入到你想要登录的远程主机的/home/username/.ssh目录中,并将刚刚复制的内容写入到authorized_keys文件中。
同时save private key,保存的地点自己选择。
注意:如果没有该目录和文件 则需要自己建立。
e.g:我想以root的身份登录远程主机,我们知道root的家目录为~,则需要在~/.ssh目录下建立名为authorized_keys的文件(必须是这个名字)。然后将Public Key 黏贴到这个文件中,保存。当然你也可以自己输入,但是千万不要输错哦~
图1-2 密钥对产生
3. 运行putty 进行一下设置:
Session->Host name (ip address),填写要登录的远程主机的ip adress
Connection ,seconds between keep alives 随便填写一个数字 防止掉线 可填可不填默认0为关闭此项功能
Connection->Data 此处填写你想要自动登录的用户名 例如:root
Connection->SSH->auth,private key file for authentication找到第二步保存下来的private key,将其导入。
Session saved session填写个名字,然后可以save一下,保存这个设置。就可以自动登录啦。
是不是很简单呢?