使用ssh无密码验证登录 公钥无效

来源:互联网 发布:淘宝复制链接不弹出来 编辑:程序博客网 时间:2024/06/03 21:58

使用ssh无密码验证登录 公钥无效

遇到了ssh公钥无效的问题

$dnf install ssh$ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys$sudo systemctl restart sshd.service
  1. 生成密钥对
  2. 将公钥放到authorized_keys
  3. 重启ssh服务

如果一个主机内的authorized_keys中含有你的id_rsa.pub你就可以登录它的ssh端口,注意,这个时候用户名是一样的,如果在自己的user下进行无密码的ssh验证,那么进入的也是同样用户名的远程主机,如果没有该用户名,则登陆会失败

最近为了安装python的虚拟环境,按照教程把pyenv安装到了/root/.pyenv下。因为环境变量加在了~/.bashrc的缘故,导致其他用户无法使用pyenv,因此改动了/root/目录的权限并升高至777,然后就发现ssh无法验证登录了,将4台机器额authorized_keys文件重新设定,然而发现并没有什么用,Google之,发现是权限太高的缘故,ssh为了设定安全性,如果`authorized_keys这个文件是可被其他写的,那么一定是不安全的,同理/root/目录/.ssh/目录同样受到了ssh的限制。别人的经验是

$chmod 700 /root/.ssh/$chmod 600 /root/.ssh/authorized_keys$chmod 755 /root/

问题得到解决
然而看到了其他的资料,是rsynctutorial,将authorized_keys设置为了644权限,即当前用户可读可写,组用户可读,其他用户可读,不明白为什么,没有进行相关的实验,至少可信度还是有的。


不忘初心~充实就好~

0 0