我有一台服务器,其中有一个带有 node.js 应用程序的裸仓库。我推送了没有 node_modules 的代码,并直接将它们安装在服务器上。这是我的问题:现在需要将服务器上的更改(node_modules)推送到仓库才能使应用程序正常工作。然而,问题是我没有在服务器上的笔记本电脑上使用的私钥和公钥。
运行服务器的文件位于名为 webbapp 的目录中,该目录中包含一个名为 website.git 的目录(见下文),裸仓库位于该目录中。
当我从工作树推送到 repo 时,它会显示以下错误消息:
/opt/bitnami/apps/webapp/website.git$ git --work-tree=/opt/bitnami/apps/webapp/ push origin master
/usr/bin/ssh: /opt/bitnami/common/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh)
/usr/bin/ssh: /opt/bitnami/common/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh)
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我用了这作为指南,在重新启动 Apache 服务器后卡住了。
谢谢您的帮助。
答案1
你是如何将它们推送到服务器的?你一定使用了某种身份验证,除非你无需身份验证即可从 repo 下载内容。
如果您没有这些密钥,那么为服务器创建一个新的密钥对,然后将其提供给 github 怎么样?一种解决方法是使用您的 github 登录名/密码。
进入兔子洞的下一个层次是查看你的 .git/config。你要查看的行是
[remote "origin"]
url = localgit:docker
fetch = +refs/heads/*:refs/remotes/origin/*
注意它们特定于我的设置。实际上,上面使用的是我的本地 git 服务器。localgit
是服务器的 ssh 昵称/别名;它与地址、用户以及本例中的 ssh 密钥相关联。docker
是存储库。现在,如果我使用的是 github,该url
行可能看起来像这样
url = https://github.com/raubvogel/some-repo.git
这个需要我进行身份验证才能将某些内容上传到 github。
希望以上内容可以帮助您入门。