Gitlab添加sshkey之后pull/push操作,在mac上ok的,在server上(Debian)依旧需要输入密码。

既然在mac上ok,且已添加server的pub key,说明并不是gitlab配置问题,只能是两个客户端的设置问题。

所以,对比git的config:

  1. 本地 ~/.gitconfig
    都是name,email,无差别,跳过
  2. global config
    查看 git config -l,发现差别在于mac有credential.helper=osxkeychain,而server上没有,从字面来看像是信任存储的设置。

很明显osxkeychain专属于macOS系统的,从网上查看,linux的应该用store

添加全局credential.helper配置为store。

git config --global credential.helper store

再次尝试,搞定。