ssh配置免密后还需要输入密码的问题

问题:

ssh-keygen -t rsa

生成秘钥,然后通过

ssh-copy-id -i ~/.ssh/id_rsa.pub   用户名@ip地址 

发送公钥到需要免密登录的主机用户。但完成后通过

ssh  用户名@ip地址

还是需要输入密码。

解决:

按网上的几个方法试,怎么都不行。最后发现不能照抄,还是要先了解原理,看懂下图就差不多了。

简单的说就是A生成公钥后把公钥的串(字符串)添加到B的authorized_keys文件中。

然后检查发现这个命令 “ssh-copy-id -i ~/.ssh/id_rsa.pub   用户名@ip地址” 有时候执行之后并没有在B的authorized_keys文件中添加公钥(可以在命令执行前后查看一下authorized_keys文件是否有变化)。问题就比较明显了。既然ssh-copy-id不行,那就直接scp。把A的公钥id_rsa.pub通过scp拷贝到B,然后用cat命令把内容添加到authorized_keys文件最后: cat id_rsa.pub >> ~/.ssh/authorized_keys。(据说vi可能会产生多余的换行,最好用cat)(20230209更新,其实可以先把id_rsa.pub的内容拷贝到本地文本编辑器,然后检查如果有空格就删除,再直接复制到目标主机的authorized_keys文件里面就行了)

最后验证通过。

另外要注意的是权限问题。.ssh目录要700,authorized_keys文件要600。也有说是755和655点,反正后面两个不能有写权限。

参考文档:

ssh免密以后还是需要输入密码:ssh配置的一些坑_Van_2009的博客-CSDN博客_ssh 免密后 还是要输入密码

ssh 连接原理及ssh-keygen - 王子亮 - 博客园

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值