欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ssh免密登录不生效的原因总结

程序员文章站 2022-04-30 11:11:58
...

生成公钥

ssh-****** -t rsa -P '' (注:最后是二个单引号,表示不设置密码)

然后分发公钥到目标机器

ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@对方机器IP 

 

如果失败,有可能是以下原因:

1、权限问题

.ssh目录,以及/home/当前用户 需要700权限,参考以下操作调整

sudo chmod 700 ~/.ssh

sudo chmod 700 /home/当前用户

.ssh目录下的authorized_keys文件需要600或644权限,参考以下操作调整

sudo chmod 600 ~/.ssh/authorized_keys

 

2、StrictModes问题

编辑

sudo vi /etc/ssh/sshd_config

找到

#StrictModes yes

改成

StrictModes no

 

3.系统中有多个认证**文件

多个认证**文件,我们可以使用参数 -i 来指定需要传输至目标机的公钥文件,如:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

192.168.246.170系统中两个认证**文件,路径如下:

/home/jianzhihua/.ssh/id_rsa.pub
/data/jianzhihua/.ssh/id_rsa.pub

在192.168.246.170执行:

$ ssh-copy-id -i  /data/jianzhihua/.ssh/id_rsa.pub [email protected]

从192.168.246.170登录到192.168.246.171,终端执行:

$ ssh [email protected]
Enter passphrase for key '/home/jianzhihua/.ssh/id_rsa.pub': ##系统提示输入私钥,可不论输与不输都不能直接登录

处理方法:

在192.168.246.170终端执行:
$ eval $(ssh-agent) 
$ ssh-add 
Identity added: /data/jianzhihua/.ssh/id_rsa (/data/jianzhihua/.ssh/id_rsa)
因为:
$ grep jianzhihua /etc/passwd
jianzhihua:x:1039:1039::/data/jianzhihua:/bin/bash
当然你也可以使用/home/jianzhihua/.ssh/id_rsa.pub,在192.168.246.170终端操作如下:
$ ssh-add -k /home/jianzhihua/.ssh/id_rsa
Identity added: /home/jianzhihua/.ssh/id_rsa (/home/jianzhihua/.ssh/id_rsa)
登录时:
$ ssh -i /home/jianzhihua/.ssh/id_rsa [email protected]

 

 
相关标签: 运维