我已经根据以下文章在 Azure Cloud 上设置了 gitolite:https://www.devbridge.com/articles/create-your-own-git-server-on-azure-cloud/
现在我想克隆 gitolite-admin 存储库,但我遇到访问问题。
我的虚拟机设置为允许 ssh2 连接,当我想在我的家庭计算机 (Windows) 上克隆 gitolite-admin 存储库时,我需要为其提供正确的 key 。
当我从 git bash 键入时
git clone git@my-server:gitolite-admin
我明白
Permission denied (publickey)
我想我对这些公钥-私钥有点迷失了。
我已经根据这些 key 为我的 Azure VM 生成了 http://azure.microsoft.com/pl-pl/documentation/articles/virtual-machines-linux-use-ssh-key/
然后我将 admin.cer 上传到我的 Azure
我可以使用 putty、filezilla 连接,一切正常。
我已经用 puttygen 生成了 admin.pub 并将其上传到服务器。
然后我就这么做了
ssh-keygen -i -f /tmp/ssh2/admin.pub > /tmp/openssh/admin.pub
为了使其与 gitolite 一起工作。
我已经使用这些 key 设置了 gitolite,但现在无法克隆它。
我想我只需要以某种方式连接我的原始私钥即可与 git clone 一起使用,但不知道如何操作。
我已经将所有这些 key 放入我的 %HOMEPATH%/.shh/
文件夹中,但它不起作用。
我什至将 %HOME% = %HOMEPATH%
设置为 Windows 中的环境变量。
现在我真的对我所做的一切感到迷失了。
最佳答案
我想说你需要做两件事。
首先,确保 .ssh 目录和其中文件的属性正确。 ssh 对这个 ~/.ssh
非常挑剔,应该是 dwrx-----,私钥应该是 -rw------,公钥至少是 -rw-r- -r--。
第二个是确保在连接到服务器时提供您的管理私钥。由于您没有使用默认 key 名称,我建议在 .ssh
中创建一个 config
文件,其中包含以下行(定义 myserver 别名):
host myserver
user git
hostname my-server
IdentityFile ~/.ssh/admin
并尝试通过 git clone myserver:gitoline-admin
使用此别名进行克隆。
关于git - 如何将 git clone 与 ssh 保护的 gitolite 服务器一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29306088/