首先不使用密码的方法是在服务器添加自己的公钥,具体方法可见 搭建Git服务器。
但是添加之后还是需要密码是出了什么问题呢?我们一一排除。
- 服务器导入的公钥是否正确
查看服务器 /home/git/.ssh/authorized_keys 文件,观察导入是否为一行一个,前面后面是否多了少了字母。
例如我是粘贴进去的公钥,结果复制时少复制了一个“s“,结果服务器文件为” sh-rsa",导致始终需要密码。 - 本地文件夹的拥有者是否为导入的公钥的用户
这个的意思就是,本地工作文件夹的拥有者。例如,我导入的是我个人用户的公钥,但是我本地工作文件夹的拥有者却是root,导致我每次push或者pull都需要输入密码,原因不用多说。解决办法直接更改本地文件的拥有者就可以了.
sudo chown -R git:git .ssh/