Mac OS 上配置ssh本机免密登陆的坑

尝试在mbp上安装单机版的Hadoop,使用brew安装后,按照安装文档,
其中有一步是设置ssh的免密登陆

1
2
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

这边生成密钥使用的dsa算法,在centOS下没有问题

但是因为安全性等问题在OpenSSH 7.0之后,默认放弃了对DSA的支持
所以需要手动去.ssh/config配置文件中增加对DSA的支持或者是使用RSA来替代,秩序将之前命令中的dsa改成rsa即可,命令如下

1
2
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

同时需要注意的是authorized_keys的权限,只有对当前用户才可拥有写权限,可以直接暴力的
chomod 600 authorized_keys