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

生成公钥

ssh-keygen -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 siterecoffline@192.168.246.171

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 siterecoffline@192.168.246.171

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

$ ssh siterecoffline@192.168.246.171
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 siterecoffline@192.168.246.171

 

 
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值