Capistrano не может подключиться к git repo (bitbucket) с переадресацией агента ssh из windows.
Среда:
Windows 10
Ruby 2.4.4 for Windows installed
Rails 5.2.2
Cap 3.11.0
OpenSSH_for_Windows_7.7p1
Может успешно SSH к хосту и git ls-remote
или clone
.При выдаче cap cap deploy или cap задача, такая как git ls-remote
, подключение к репозиторию bitbucket завершается неудачно.
git stdout: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
git stderr: Nothing written
Capistrano действительно подключается к репозиторию bitbucket, если использует http и задает имя пользователя: пароль в URL.
Я написал ограничивающие задачи, чтобы показать, что SSH_AUTH_SOCK
установлено.Я играл с .ssh\config
с множеством опций, указывающих на клавиши, host *
и т. Д.
deploy.rb:
set :repo_url
установлены правильно.
staging.rb
set :ssh_options,
keys: ['c:\users\mike\.ssh\key.pem'],
forward_agent: true
.ssh \ config
Host hostname
User username
IdentityFile ~/.ssh/key.pem
ForwardAgent yes
/ etc / ssh / sshd.conf на сервере
AllowAgentForwarding yes
Нужны советы о том, что делать дальше.Кажется, что cap использует неверный открытый ключ или не использует переадресацию агента.Я добавил все ключи в bitbucket, и это не сработало.
Дополнительные выводы:
Мониторинг / var / log / secure во время развертывания cap приводит к получению этого
Кажется, он не может подключиться к ssh-agent на исходном компьютере.
Feb 18 23:13:15 ip-255-255-255-255 sshd[19242]: Accepted publickey for railsuser from x.x.x.x port 60682 ssh2: RSA SHA256:<has>
Feb 18 23:13:15 ip-255-255-255-255 sshd[19242]: pam_unix(sshd:session): session opened for user railsuser by (uid=0)
Feb 18 23:13:15 ip-255-255-255-255 sshd[19260]: channel 2: open failed: connect failed: could not connect to authentication agent
Feb 18 23:13:15 ip-255-255-255-255 sshd[19242]: pam_unix(sshd:session): session closed for user railsuser