git - 使用 ssh 连接到实时服务器并将我的 git 推送到其中

标签 git ssh git-bash

我有一个 IP 和 guest_key来自实时 Linux 服务器。

当我尝试 ssh 进入服务器或在其上使用 push 时出现错误。

每次我尝试,我都会得到一个 Permission denied (publickey)错误我

我试图通过 ssh 将我的本地 Git 应用程序投入生产,如下所示

git remote add production ssh://root@3******0/var/repo/site.git

如何将我的 key 添加到 git bash 行,以便服务器授予我权限。
为此,我正在使用 Windows 和 git bash。
root@**MyIpAdress**: Permission denied (publickey).

有人可以帮我解决这个问题:我的意思是我们可以直接 ssh 进入实时服务器还是仅仅通过 Git 推送?

最佳答案

首先,使用 root 真的很令人惊讶。远程 SSH session 的帐户。
这不是一个好的做法(因为 root 可以做任何事情),建议使用像“git”这样的服务帐户(或您想要的任何常规帐户)。

其次,您需要添加您的%USERPROFILE%\.ssh/id_rsa.pub到远程服务器~/.ssh/authorized_keys ,以便任何 SSH 调用都有机会完成。

如果您的 key 未命名 id_rsa(.pub) , 那么,作为 explained here ,您需要定义一个条目(例如“xxx”),它将引用您的实际私钥。

那么您的网址将是:

cd C:\path\to\repo
git remote set-url production xxx:/var/repo/site.git
git push production master

但同样,尽量避免使用 root在远程服务器上。
(甚至 sudo is dangerous )

关于git - 使用 ssh 连接到实时服务器并将我的 git 推送到其中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62003641/

相关文章:

vim - Git Bash 插入波浪号

ios - git:致命:克隆私有(private) Cocoapod 时无法从远程存储库读取

git - npm run build 如果成功则提交

git - 如何将本地 git 存储库移动到根文件夹并保留历史记录?

java - 为内置的 ant 任务指定类路径

python - 无法写入 y/n 来继续在 kaggle 中安装库

git - 在 cygwin 下,如何在 Windows 上指定带空格的 git URL?

java - 使用 JSch 中的密码加密的 key 进行身份验证

bash - 为字符串运行 ssh 远程命令和 grep

找不到 git fatal error refs