I followed the following procedure:
git clone ssh://[email protected]:7999/project/repository.git
and the repository is successfully cloned;config/deploy.rb
in Capistrano project directory:
set :repo_url, 'ssh://[email protected]:7999/project/repository.git'
The problem is that executing the command cap production git:check
I get the following error lines and the deployment is cancelled:
INFO [8b21e06e] Running /usr/bin/env mkdir -p /tmp/capistrano_project_name/ as [email protected]
DEBUG [8b21e06e] Command: /usr/bin/env mkdir -p /tmp/capistrano_project_name/
INFO [8b21e06e] Finished in 0.292 seconds with exit status 0 (successful).
DEBUG Uploading /tmp/capistrano_project_name/git-ssh.sh 0.0%
INFO Uploading /tmp/capistrano_project_name/git-ssh.sh 100.0%
INFO [376577ce] Running /usr/bin/env chmod +x /tmp/capistrano_project_name/git-ssh.sh as [email protected]
DEBUG [376577ce] Command: /usr/bin/env chmod +x /tmp/capistrano_project_name/git-ssh.sh
INFO [376577ce] Finished in 0.036 seconds with exit status 0 (successful).
INFO [2ed5c706] Running /usr/bin/env git ls-remote --heads ssh://[email protected]:7999/project/repository.git as [email protected]
DEBUG [2ed5c706] Command: ( GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/capistrano_project_name/git-ssh.sh /usr/bin/env git ls-remote --heads ssh://[email protected]:7999/project/repository.git )
DEBUG [2ed5c706] Permission denied (publickey).
DEBUG [2ed5c706] fatal: Could not read from remote repository.
DEBUG [2ed5c706]
DEBUG [2ed5c706] Please make sure you have the correct access rights
DEBUG [2ed5c706] and the repository exists.
(Backtrace restricted to imported tasks)
cap aborted!
Exception while executing as [email protected]: git exit status: 128
git stdout: Nothing written
git stderr: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Tasks: TOP => git:check
(See full trace by running task with --trace)
I already tried to simply change the variable to set :repo_url, 'ssh://[email protected]:7999/project/repository.git'
but I receive the same error.
Anyone successfully connecting Capistrano to Stash via SSH?
Could you please suggest how I can debug it? I would like to avoid to use usernames and passwords in my Capistrano configuration files.
A simplistic answer, but I would guess that Capistrano is picking up the wrong key. I'd suggest that you check the default ssh key for the deployment user. So, if capistrano is set to log into the server using deployuser
, see what key deployuser
picks up. It can be helpful to test with ssh -T [email protected] -p 7999
and see what comes back.