克隆并推送到远程服务器存储库

clone and push to remote server repository

我有一个带有 git 存储库的远程服务器可以被克隆...问题是我需要使用 ssh 访问该服务器,并使用我保存在本地计算机上的密钥文件身份验证...

我创建了一个空的本地文件夹并创建了:

git clone ssh://username@45.645.465.12:/path_to_my_rep/.git

但是,当然,我遇到了权限被拒绝的错误。我怎么能告诉 git 在哪里选择我的 ssh 密钥文件???

我尝试在 ~/.ssh/conf 上创建一个 conf 文件并添加以下行:

Host 45.645.465.12
    Hostname 45.645.465.12
    IdentityFile    ~/.ssh/myKeyFile.pem
    IdentitiesOnly yes

但是我收到这个错误:

Cloning into 'gestioner'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

如果您已经生成了密钥对,则需要将您的 public 密钥提供给 git 服务器管理员,以便将其添加到授权密钥列表中。密钥应附加到 .ssh/ 目录中的 authorized_keys 文件。

我在 ~/.ssh/ 下更新了我的 conf 文件,它看起来像这样:

Host myhost
    User myUser
    IdentityFile /path_to_my_key_file

我的主要错误是我 运行 git 以 root 身份克隆,因此 openSSH 没有读取我在 home/user/ 下的 conf 文件,而是在 /root/.. .

纠正这两件事后 git 克隆工作得很好 :)