Истекает время ожидания
На сервере я могу успешно выполнить следующее:
ssh-agent bash -c 'ssh-add /path/key; git clone https://repo_path/repo_name.git'
Репо клонируется в 'repo_name'
Однако, когда я запускаю следующий скрипт ansible (2.2) на локальном компьютере, задача клонирования останавливается на неопределенное время
- name: clone or pull latest web app code
git: repo=https://repo_path/repo_name.git dest=/home/user/repo_name
key_file=/path/key
accept_hostkey=yes
force=yes
Другие задачи до клонов работают нормально (обновление, установка библиотеки и т. Д.)
Я использую следующее, чтобы проверить правильность путей, и они кажутся в порядке:
- debug:
msg: "about to clone code {{ code_repository }} to {{ base_dir }}"
Есть идеи?
1 ответ
Замечания: ssh-add /path/key
а также git clone https://repo_path/repo_name.git
не иметь ничего общего друг с другом. ssh-add /path/key
предназначен для добавления частного SSH-ключа, защищенного парольной фразой, в ssh-agent, чтобы кэшировать эту фразу-пароль, когда она понадобится для URL-адреса SSH.
А также https://repo_path/...
URL-адрес HTTPS, то есть для него не требуется ключ SSH. Совсем.
В модуле ansible git упоминаются:
accept_hostkey
если да, убедитесь, что
-o StrictHostKeyChecking=no
"присутствует как опция ssh.
Опять же, URL-адрес HTTPS, поэтому он не нужен.
Попробуй и удали key-file
а также accept_hostkey
, чтобы увидеть, может ли клон HTTPS продолжаться.
Для URL-адреса SSH вам необходимо убедиться, что:
- открытый ключ правильно опубликован на стороне сервера (в
~git/.ssh/authorized_keys
), - а также
~/.ssh/known_hosts
должным образом обновлен, как я видел вчера, с " проблемой соединения SSH с ошибкой " Проверка ключа хоста… " ".