Home > programming > putty无密码登陆linux box

putty无密码登陆linux box

工作的时候很多时间都是使用putty登陆到linux机器进行操作,由于需要每次登陆都要输入密码,这多多少少有点烦人,况且又在局域网内部。所以自然想到了不输入密码使用putty登陆ssh server。
网上的方法很多,基本上都是一致的。
首先,使用putty的keygen工具puttygen.exe生成公钥和密钥。点击Generate然后在空白区域瞎乱动鼠标就行了。在生成公钥和密钥的时候我选择的类型是ssh-2 RSA,key长度是1024bits.生成以后保存private key文件。保存private key文件的时候不要输入密码。其实这个文件里面既有公钥又有密钥。当然你还可以单独保存一个公钥文件。
然后将上一步保存的公钥文件上传到你需要登陆的机器的用户目录下的~/.ssh目录。假设你的公钥文件叫做rsa_pub.现在使用命令
ssh-keygen -i -f rsa_
pub > rsa.pub
接着保存rsa.pub到authorized_keys文件就可以了。
cat rsa.pub >> authorized_
keys
然后启动putty,找到你登陆目标机器的那个保存的session,如果没有的话那么现在新建一个。找到connection->ssh->auth
在右边的Private key file authentication里面输入在第一步生成的private key的全路径。
照理,这个时候你使用putty登陆该linux机器的时候就无需输入密码了。但是我在使用的时候发现无法自动登陆成功。
putty上显示 “server refused our key”,于是按照askubuntu上的方法,解决了。(虽然我使用的linux server是centos的,但是大体上在这件事情上没有太大差别)该方法大致如下:
修改.ssh目录权限为700,也就是当前用户可读,写,执行
修改authorizedkeys的权限是600,也就是当前用户可读,写
修改/etc/ssh/sshdconfig,是下面这一句生效,也就是去掉行首的’#’
AuthorizedKeysFile .ssh/authorized_
keys
然后重启sshd
service sshd restart
就可以了。

其实linux下面需要无密码登陆到其他机器的做法也是一样的,首先用ssh-keygen生成一个公钥密钥对,然后上传公钥到目标机器的目标用户目录,后面的工作和上面一样的了。
ssh-keygen -t rsa.
同样的,在生成文件的时候不要输入密码

Categories: programming Tags: ,
  1. No comments yet.
  1. No trackbacks yet.