我正在使用 Deployer 将项目克隆到服务器上,但尽管设置了部署密钥,但由于某种原因,通过 SSH 克隆失败:
ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我采取的步骤:
- 在我正在克隆我的项目的服务器上生成新密钥:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
,我的密钥文件在这个 forat:form_simple_id_rsa
中,当然还有 pub 版本。 - 做了
eval
并添加了密钥:ssh-add -k ~/.ssh/form_simple_id_rsa
- 测试了连接,一切都很好。
- 将密钥添加
form_simple_id_rsa.pub
到我的存储库作为部署密钥,存储库所有者不是我的帐户,我是此存储库的协作者,但服务器的密钥已链接到项目,因此它应该能够克隆。 - 在我的项目中设置部署程序以使用我的主机、端口和我制作的新密钥(因为有几个密钥)等:
host('project')
->port(myport)
->identityFile('~/.ssh/form_simple_id_rsa')
->stage('production')
->set('repository', 'git@github.com:company/project.git')
->user('root')
->set('deploy_path', '/var/www/path');
- 尝试部署,得到一个错误的退出代码:
Exit Code: 128(Invalid exit argument)
说ssh -A -tt
命令失败。