Search code examples
ruby-on-railsubuntudeploymentvpsubuntu-server

git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. on cloud 9


I am trying to deploy a rails site online using the steps in https://gorails.com/deploy/ubuntu/18.04 but when I run cap production deploy I receive, What can I do to fix it please, I am using aws cloud 9

deploy@93.188.163.140's password:
00:00 git: wrapper
      01 mkdir -p /tmp
    ✔ 01 deploy@X.X.X.X 0.158s
      Uploading /tmp/git-ssh-young-production-ubuntu.sh 100.0%
      02 chmod 700 /tmp/git-ssh-young-production-ubuntu.sh
    ✔ 02 deploy@93.188.163.140 0.156s
00:00 git:check
      01 git ls-remote git@github.com:oomis/young.git HEAD
      01 Warning: Permanently added the RSA host key for IP address '140.82.113.4' to the list of known hosts.
      01 git@github.com: Permission denied (publickey).
      01 fatal: Could not read from remote repository.
      01
      01 Please make sure you have the correct access rights
      01 and the repository exists.
#<Thread:0x0000564f38e1cb38@/home/ubuntu/.rvm/gems/ruby-2.6.3/gems/sshkit-1.20.0/lib/sshkit/runners/parallel.rb:10 run> terminated with exception (report_on_exception is true):
Traceback (most recent call last):
        13: from /home/ubuntu/.rvm/gems/ruby-2.6.3/gems/sshkit-1.20.0/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'

.```

I expect it to deploy my app, how can I fix this, please

Solution

  • This is caused by ssh key. Please refer to this official GitHub docs page on how to generate one if you haven't. If you already have ssh, add ssh identity from your local machine terminal,

    ssh-add ~/.ssh/id_rsa

    Note that this will only add identity for one time deployment and you will need to add again each time the terminal or machine is rebooted.I am not sure what local machine you are using. This stack answer might help how to add ssh permanently to your machine.