putty ssh 证书登录及问题

1.用PUTTYGEN.exe生成密钥,生成的时候鼠标在进度条下面的空白处移动,为什么?就理解成随机得厉害点吧。

2.保存私钥,请看下面的图片说明

3.把公钥的内容想办法放到用户目录的.ssh/authorized_keys文件里面去,用vi ~/.ssh/authorized_keys打开,然后点下右键就上去了。也可以用PSFTP习惯哪个就用哪个。

这样就行了。最主要的就是复制这里,不要弄错了。

 

反正记住一条,在你用证书不能连接的情况下,千万不要把PasswordAuthentication 参数设置成no,要不就Game over了,当然,如果你是在本机的话,可以这样弄。

 

 

1、.ssh文件夹权限错

.ssh 以及其父文件夹(root为/root,普通用户为Home目录)都应该设置为只有该用户可写(比如700)。

以下为原因:

ssh服务器的key方式登录对权限要求严格。对于客户端: 私钥必须为600权限或者更严格权限(400), 一旦其他用户可读, 私钥就不起作用(如640), 表现为系统认为不存在私钥
对于服务器端: 要求必须公钥其他用户不可写, 一旦其他用户可写(如660), 就无法用key登录, 表现为:Permission denied (publickey).
同时要求.ssh目录其他用户不可写,一旦其他用户可写(如770), 就无法使用key登录, 表现为:Permission denied (publickey).

 

2、SElinux导致

密钥文件不能通过SElinux认证,解决方法如下:

1
# restorecon -R -v /home #root用户为/root

我遇到的就是这种情况,找了好久还找到是这个原因,因为是新装的虚拟机,SElinux还没关闭。

这篇博文详细得说明了原因:http://www.toxingwang.com/linux-unix/linux-basic/846.html

 

3、sshd配置不正确

正确配置方法如下:

/etc/ssh/sshd_config 1、找到 #StrictModes yes 改成 StrictModes no (去掉注释后改成 no) 2、找到 #PubkeyAuthentication yes 改成 PubkeyAuthentication yes (去掉注释) 3、找到 #AuthorizedKeysFile .ssh/authorized_keys 改成 AuthorizedKeysFile .ssh/authorized_keys (去掉注释) 4、保存 5、/etc/rc.d/init.d/sshd reload 重新加载

posted @ 2018-04-05 11:59  狂猫  阅读(479)  评论(0编辑  收藏  举报