git - 如何将 git clone 与 ssh 保护的 gitolite 服务器一起使用

标签 git ubuntu azure ssh gitolite

我已经根据以下文章在 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/

相关文章:

azure - 如何动态使用 ADF 中的 upsert 到 Azure SQL 数据库

Git:能够在不触及工作树的情况下暂存特定文件内容

git - 将 GIT 存储库更改为共享

mongodb - Ubuntu机器上的XFS或ext4文件系统mongodb服务器?

ubuntu - 带有ubuntu的Windows虚拟机无法启动

c# - 如何手动使用 azure 表类对象的列名称?

git - 删除不在远程的分支

git - 以 cygwin 和 Github for Windows 结尾的行

python-3.x - 将 ubuntu 18.04 升级到 20.04 但软件包仍然是 +bionic1

asp.net-mvc - 将文件附加/上传到尚未保存的注释 - 对此的最佳策略是什么?