2

我正在使用 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.

我采取的步骤:

  1. 在我正在克隆我的项目的服务器上生成新密钥:ssh-keygen -t rsa -b 4096 -C "your_email@example.com",我的密钥文件在这个 forat:form_simple_id_rsa中,当然还有 pub 版本。
  2. 做了eval并添加了密钥:ssh-add -k ~/.ssh/form_simple_id_rsa
  3. 测试了连接,一切都很好。
  4. 将密钥添加form_simple_id_rsa.pub到我的存储库作为部署密钥,存储库所有者不是我的帐户,我是此存储库的协作者,但服务器的密钥已链接到项目,因此它应该能够克隆。
  5. 在我的项目中设置部署程序以使用我的主机、端口和我制作的新密钥(因为有几个密钥)等:
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');
  1. 尝试部署,得到一个错误的退出代码:
Exit Code: 128(Invalid exit argument)

ssh -A -tt命令失败。

4

1 回答 1

0

如果这不是 DEployer 版本问题(如此处),我会尝试:

  • 生成和测试没有密码的密钥(为了避免ssh-add step,确保不需要密码)
  • 使用 , 生成密钥-m PEM以使用旧的 PEM 格式而不是新的 OPENSSH 格式,以防它有任何影响
于 2021-02-05T06:29:54.293 回答