【发布时间】:2015-08-01 03:53:23
【问题描述】:
我知道有很多类似的问题,但经过一个多小时的调试,我仍然摸不着头脑。我之前使用 HTTPS 设置了 Git,但我现在想使用 SSH。但是,当我git pull origin master 时,我得到了
error: git checkout-index: unable to create file test.txt (Permission denied)
我相信这是因为这些文件归 apache 所有,我需要为 Git 配置一些东西来写入 apache 拥有的文件。
这里有一些信息。 ssh -Tv git@bitbucket.org 给:
logged in as my_bitbucket_username.
ll ~/.ssh/ 给出:
drwxrwxr-x 2 username 4.0K May 20 00:18 ./
drwxr-xr-x 3 username 4.0K May 19 23:41 ../
-rw-r--r-- 1 username 410 May 18 18:13 authorized_keys
-rw------- 1 username 51 May 20 00:19 config
-rw------- 1 username 132 May 19 23:54 environment
-rw------- 1 username 1.8K May 20 00:18 id_rsa
-rw-r--r-- 1 username 414 May 20 00:18 id_rsa.pub
-rw-r--r-- 1 username 410 May 19 23:45 known_hosts
sudo .git/config 给出:
[remote "origin"]
url = git@bitbucket.org:bitbucket_user/myrepo.git
fetch = +refs/heads/*:refs/remotes/origin/*
ssh-add -l 给出:
2048 ... /home/username/.ssh/id_rsa (RSA)
这是现在的设置。
- Web 应用程序文件/目录归
apache所有 -
.git目录归root所有也归apache所有 - 我以
username登录,家是/home/username。我有 sudo。 - 我的钥匙在
~/.ssh/id_rsa
我想要的是能够以username 身份登录并使用此密钥拉取并推送到存储库。如何配置它,以便我或其他用户可以git push/pull 而不会弄乱此 Web 应用程序目录中的文件所有权?
【问题讨论】:
标签: git ssh bitbucket ssh-keys