之所以要把这个记录下来
是因为它的确和root用户不一样
root用户 不需要改动什么权限问题 只要生成私钥/公钥对 即可
但是一样的操作在普通用户上就出了问题了
折腾了老半天
ssh-keygen -t rsa 这里一定要加 -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目录赋一个权限
1 chmod 700 /usr/hadoop/.ssh
2 chmod 600 authorized_keys
3 chmod 600 id_rsa
这下就可以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