git - 通过 ssh 将 git repo 推送到远程服务器

标签 git amazon-web-services ssh amazon-ec2 ssh-keys

所以我有一个 AWS EC2 服务器,我使用 private.pem 文件 ssh 进入。我通过将它作为带有 -i 标志的参数传递来做到这一点

ssh -i private.pem "user@host"

而这个 private.pem 文件不在我的 .ssh 目录中。

我的 ec2 上有一个要推送到的 git 存储库,但我无法弄清楚应该如何使用 private.pem 文件进行身份验证。

为了说明确切的问题是什么,我与 DigitalOcean 有类似的事情,我有一个 vps,我可以在不使用 -i 标志的情况下通过 ssh 进入它,因为当我为 digitalocean 创建 ssh key 时,它被自动放置在我的 .ssh 目录,所以我可以使用 ssh 进入它
ssh user@host

对于 ec2,我使用,
ssh -i private.pem "host"

当我为 digital ocean 添加 Remote 时,它是
git remote add production ssh://user@host/path/to/repo

在推送时,它会自动使用我的 .ssh 目录中的正确 ssh key 。

但是对于 ec2,我不明白如何指定不在 .ssh 目录中的 ssh key 。

我已阅读其他答案并尝试使用 .ssh 和 GIT_SSH_COMMAND 中的配置文件,但没有成功。

最佳答案

我生成了一个新 key 并将其用于身份验证。工作!

关于git - 通过 ssh 将 git repo 推送到远程服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39905158/

相关文章:

git - 如何在 git 中标记你的分支未解决?

ruby-on-rails - 使用 Git 和 Heroku 进行适当的持续集成和持续部署

amazon-web-services - 如何使用Elastic Beanstalk设置实例类型?

python - 如何通过 SSH 在 python/bash/ruby 脚本中执行带有 "sudo"的命令?

git - 与本地存储库相比,为什么使用 GitHub 操作时 `git rebase upstream/main` 的行为不同?

git - 混帐错误 : You can only push your own commits in this repository

amazon-web-services - 当 AWS 节点组没有出现在 CloudFormation 中并且仅在尝试删除父集群或创建新集群时似乎存在时,如何销毁 AWS 节点组?

amazon-web-services - 如何订阅 DynamoDB 中的更改

shell - 如何使用数字后缀分割文件

linux - 连接 SSH 并与另一个用户执行脚本