背景
我正在尝试在我的 vps 上设置一个带有 ssh 访问权限的 git 服务器,以便我进行克隆、拉取和推送。稍后我可能会向任何人添加 ssh 克隆访问权限和一个 Web 存储库浏览器。我的 vps 运行 Ubuntu 18.04,而我的本地计算机运行 XUbuntu 18.04。我明白这只是生成密钥、将它们附加到文件等的简单问题authorized_keys
。也许不是?到目前为止,我所做的如下。
脚步
- 使用 在我的本地机器上创建一个 ssh 密钥对
ssh-keygen -t ecdsa -b 521
。 ali
在 vps 上使普通用户具有 sudo 能力。git
在 vps 上创建了一个没有 sudo 功能的 git 用户。- 将生成的公钥附加到两个用户的
~/.ssh/authorized_keys
。 - 已验证密钥已使用 添加
cat ~/.ssh/authorized_keys
。 - 尝试使用在我的本地机器上克隆一个测试仓库。
git clone [email protected]:test-repo.git
- 已将
ali
和添加git
到组gitusers
。 - 使用授予
gitusers
组对 git 目录的访问权限chmod -R g+rws .
。 - 已验证
ali
拥有/home/ali/.ssh/authorized_keys
使用ls -l
。 - 已验证
git
拥有/home/git/.ssh/authorized_keys
使用ls -l
。 - 已验证可以使用 进行
gitusers
读写。/home/git/.ssh/authorized_keys
ls -l
错误
$ git clone [email protected]:test-repo.git
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
问题
我错过了哪些步骤?
我可以使用本地ali
用户通过 ssh 连接。我是否需要在新git
用户之间切换才能与服务器上的 git 存储库进行任何交互?