【问题标题】:Git push to remote that requires ssh keyGit 推送到需要 ssh 密钥的远程
【发布时间】:2020-11-25 20:45:54
【问题描述】:

部署到我的远程服务器失败并出现“权限被拒绝”错误:

git push prod master

错误

deploy@<IP>: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

我可以通过 ssh 进入服务器:

$ ssh my_server

我在 ~/.ssh/config 中设置的。

Host my_server
    HostName <IP>
    User deploy
    IdentityFile ~/.ssh/my_server_rsa

我以前使用这样的密码身份验证进行部署。

$ git remote add prod deploy@<IP>:app_prod
$ git push prod master

然后在提示时输入密码。 但是现在我已经切换到 ssh 密钥,我的部署失败了。

所以我的问题是,我如何让git push 使用~/.ssh/config

我不知道如何进行这项工作,也不知道用谷歌搜索什么来找到一个例子。 可能在这里遗漏了一些超级基本的东西......

【问题讨论】:

  • 您是否更新了远程 url,即git remote set-url prod ssh://my_server/path/to/repo.git

标签: git ssh deployment


【解决方案1】:

带有my_server Host 条目的配置文件意味着它是以下的快捷方式:

ssh -i  ~/.ssh/my_server_rsa deploy@<IP>

所以要使用它,正如评论的那样,您需要远程产品 URL 来使用 my_server 配置条目:

git remote set-url prod my_server:/path/to/repo
# or
git remote set-url prod ssh://my_server/path/to/repo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-19
    • 2013-06-22
    • 2013-10-12
    • 2013-02-17
    • 1970-01-01
    • 2014-05-14
    • 2021-07-25
    • 1970-01-01
    相关资源
    最近更新 更多