SSH证书让Putty免密码登陆Linux

2011-10-10 13:55:44 by 【6yang】, 219 visits, 收藏 | 返回

PUTTY默认不支持记住密码,修改版的还是不要用,好在SSH支持证书登陆,我也问了生产环境下的朋友,他们登陆SSH也是用证书.

这里介绍的不是双Linux环境下的SSH证书登陆,而是Windows下用Putty证书登陆至你的Linux服务器/VPS.

目前我用的是Putty中文版,来自GoogleCode的项目:http://code.google.com/p/puttycn/

 

1.用PuTTY SSH 密钥生成工具puttygen.exe生成密钥.

生成的密钥类型和位数按照默认的就行了,SSH-2 RSA,1024位

生成密钥时你需要在空白区域移动鼠标,以便产生随机数据

点击保存私钥(可以不设置密码保护),不要生成公钥,因为PUTTY生成的公钥OpenSSH无法使用.

 

2.SSH密码方式登入远端Linux服务器/VPS,创建.ssh/authorized_keys.

mkdir    ~/.ssh

vim ~/.ssh/authorized_keys

将puttygen.exe生成的公钥内容粘贴至~/.ssh/authorized_keys.

注:公钥内容就在显示的公钥(P)由OpenSSH认可: 这行字符下面.

至于为什么文件名是authorized_keys,可以在/etc/ssh/sshd_config中找到下面两行

#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

 

3.用SSH证书登陆你的Linux服务器/VPS

Putty→会话:将服务器IP填好

Putty→连接→数据:填好自动登陆用户名( 比如 root )

Putty→连接→SSH→认证:选择认证私钥文件

回到Putty→会话:保存的会话,填个名称保存下吧,下次直接双击名称就可以登录了,赶紧登录吧.

 

4.为了安全你需要取消SSH的密码认证方式.

vim /etc/ssh/sshd_config

添加下面这行

PasswordAuthentication no

重启SSH服务

service sshd restart

----------------------------------------------------------

注意:如果登陆时,出现 server refused our key 的提示,请按照下面的方法解决:

修改vi /etc/ssh/sshd_config 文件 (按下面设置即可)
RSAAuthentication yes        # 启用 RSA 认证(默认是注释掉的,将注释去掉,如果不是yes,改为yes)
PubkeyAuthentication yes     # 启用公钥认证(默认是注释掉的,将注释去掉,如果不是yes,改为yes)
PasswordAuthentication no    # 禁止密码认证(改为no,默认为yes是用密码认证)
StrictModes no   #修改为no,默认为yes.如果不修改用key登陆,可能会出现 server refused our key  的提示。(如果StrictModes为yes必需保证存放公钥的文件夹的拥有者与登陆用户名是相同的).“StrictModes”设置ssh在接收登 录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。)

另外,设置 authorized_keys的权限为 644 即: chmod  644  ~/.ssh/authorized_keys
之后重新启动ssh服务:/etc/init.d/ssh restart
--------------------------------------------------------------

 

原文地址:http://www.shocr.com/sshcertificate-putty-linux/

分享到:
share

    图片原图

    loading

    loading