Проблемы с пересылкой агента Windows ssh и развертыванием cap \ git - PullRequest
0 голосов
/ 18 февраля 2019

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

1 Ответ

0 голосов
/ 20 февраля 2019

Capistrano использует net-ssh gem, а net-ssh в настоящее время не поддерживает собственную установку OpenSSH в Windows.

Net-ssh поддерживает Конкурс Putty или Установка Cyshwin ssh-agent.

Я успешно протестировал конкурс Putty, и он работал как положено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...