linux非root用户ssh免密码登录

/ 0评 / 0

做一个笔记,因为他与常规的root用户不一样
root用户 不需要改动什么权限问题  只需要生成私钥/公钥对 即可

但是一样的操作在普通用户上就出了问题了
折腾了老半天

ssh-keygen -t rsa

一路回车 就好

然后会生成几个文件
id_rsa
id_rsa.pub
known_hosts

然后执行

cat id_rsa.pub >> authorized_keys

如果是root用户  做完这一步 就可以了 就可以使用ssh slave01 或 ip 登录了
但是 郁闷的是 同样的操作 到了普通用户上就不行了

网上找了很多办法 什么修改sshd_config之类的 试过都没用
其实最终还是权限问题  什么都配置文件都不用改 只需要赋一下权限就ok
默认生成的文件authorized_keys权限:
-rw-rw-r-- 1 hadoop hadoop  395 05-16 17:59 authorized_keys
默认生成的.ssh权限是可以
下面一个个的赋权限
首先是给.ssh目录赋一个权限

chmod 700 /usr/hadoop/.ssh
chmod 600 authorized_keys

这下就可以ssh slave01了

还是不行的话 就仔细检查一下权限

-rw------- 1 hadoop hadoop  396 05-16 05:10 authorized_keys
-rw------- 1 hadoop hadoop 1675 05-16 05:10 id_rsa
-rwxrwxrwx 1 hadoop hadoop  396 05-16 05:10 id_rsa.pub
-rwxrwxrwx 1 hadoop hadoop  402 05-16 05:10 known_hosts

.ssh目录权限:
drwx------  2 hadoop hadoop 4096 05-16 05:10 .ssh

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注