问题描述
我有一个Web服务器正在监听端口1234上的SSH 。
Web服务器使用~/.ssh/authorized-keys
中的公共密钥进行授权。
要通过SSH连接,我在本地计算机上拥有一个带有密码短语的私有SSH密钥
现在我希望此服务器成为git远程服务器,因此在服务器上,我使用 nonRootUser 在我的主目录中创建了一个裸仓库。
mkdir ~/project.git
cd ~/project.git
git init --bare
现在在我的本地计算机上创建一个新的仓库
mkdir myProject
cd myProject
git init
git add .
git commit -m "Initial commit"
从脚本我想将远程服务器设置为Web服务器并推送到该服务器。 这是我卡住的地方
git remote add origin ssh://nonRootUser@WebserverDomain.com:1234/home/project.git
git push origin master
这会产生错误
主机密钥验证失败。 致命:无法从远程存储库读取。 请确保您具有正确的访问权限 并且该存储库存在。
我认为我仍然需要添加密码,但是不知道如何。而且,无论我是否接近解决方案,错误仍然会打开,因为它说确保存储库存在。预先感谢
解决方法
启动SSH代理,或使用以下命令将密钥添加到现有代理:
ssh-add /path/to/your/key
系统会提示您输入密钥的密码,并会在SSH身份验证期间自动提供该密码。
本文对代理是什么及其作用做了很好的解释,以及使用代理的一些注意事项。