Mac下ssh的免登录设置方法

linux下的免登录方法介绍的很全,基本都能搞定,今天我打算用macbook pro连接我的mac pro的ssh,不想每次输入密码,查了很多资料才发现,osx下的ssh设置和linux环境还是有一些差异的。下面具体说mac面密码登录的ssh的方法。
a机:我的macbook pro
b机:我的mac pro
目标:用a机免密码登录远端的b机。
a机执行:

ssh-keygen -t rsa

此命令会在用户根目录的~/.ssh/目录下生成两个文件,一个id_rsa,一个id_rsa.pub。其中后面的pub后缀文件为要上传至b机的文件。
上传id_rsa.pub至b机的~/.ssh/目录。然后重命名id_rsa.pubauthorized_keys

重点开始

以上操作对于普通发行版的linux已经可以正常免密码登录。
但mac的sshd一般默认没打开免密码登录选项,需要手动开启。
具体操作为,在b机上编辑/etc/ssh_config文件(需要sudo权限),没有的话新建,在行尾添加

PubkeyAuthentication yes

搞定。
在a机输入

ssh username@192.168.5.5

即会自动登入b机。其中username一定要和b端的.ssh用户证书下的用户名称username一致。

 

注意事项:

sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。此时查看/var/log/secure日志,一般会出现“Authentication refused: bad ownership or modes”提示。

用户目录权限为 755 或者 700,就是不能是77x。
.ssh目录权限一般为755或者700。
rsa_id.pub 及authorized_keys权限一般为644
rsa_id权限必须为600