在 macOS 的终端中执行 git pull 命令时出现如下两个错误,可以通过手动修改权限来修复。同样适用于 Linux 系统及其他 ssh 相关应用出现的此类错误。

  • 错误一:
1
Bad owner or permissions on <user>/.ssh/config
  • 错误二:
1
2
3
4
5
6
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for '<user>/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

Solution

通过如下方式手动修复 .ssh 目录及文件权限:

1
2
3
4
5
6
cd ~/.ssh

sudo chmod 700 .      # .ssh dir
sudo chmod 700 *.pub  # PUBLIC key file
sudo chmod 600 id_rsa # PRIVATE key file
sudo chmod 600 config # config file

Reference

其他类型文件的权限及详细描述参见 man ssh

man ssh