AWX установлен на машине CentOS. Отдельная машина ( gitlab.techraf
) обслуживает веб-интерфейс GitLab через HTTPS с сертификатом, подписанным частным центром сертификации.
Сюжетная линия:
В «свежей» системе я запускаю команду:
/ usr / bin / git clone --origin origin https: //gitlab.techraf/techraf/project.git / tmp / project AWX установлен на машине CentOS. Отдельная машина ( gitlab.techraf
) обслуживает веб-интерфейс GitLab через HTTPS с сертификатом, подписанным частным центром сертификации.
Сюжетная линия:
В «свежей» системе я запускаю команду:
/ usr / bin / git clone --origin origin https: //gitlab.techraf/techraf/project.git / tmp / project AWX установлен на машине CentOS. Отдельная машина ( gitlab.techraf
) обслуживает веб-интерфейс GitLab через HTTPS с сертификатом, подписанным частным центром сертификации.
Сюжетная линия:
В «свежей» системе я запускаю команду:
/ usr / bin / git clone --origin origin https: //gitlab.techraf/techraf/project.git / tmp / project
и получить (ожидается):
фатальный: невозможно получить доступ ' https: //gitlab.techraf/techraf/project.git/
': издатель сертификата партнера не распознан.
Я устанавливаю сертификат корневого ЦС на машину AWX:
update-ca-trust force-enable
curl https: //certificate.source/certificates/techrafCA.pem> /etc/pki/ca-trust/source/anchors/techrafCA.pem
update-ca-trust экстракт
Я повторяю вышеупомянутый git clone
, на этот раз получаю правильный ответ:
Клонирование в '/tmp/project'...
удаленный: Подсчет объектов: 3, готово.
удаленный: всего 3 (дельта 0), повторно используется 0 (дельта 0)
Распаковка объектов: 100% (3/3), выполнено.
В качестве проверки работоспособности я запустил git clone
, используя разные учетные записи пользователей - никаких проблем после установки сертификата корневого ЦС в пункте 2 - корневой ЦС кажется для установки в системе. curl
также принимает сертификат gitlab.techraf
.
(проблема) Я определяю проект в интерфейсе AWX и пытаюсь синхронизировать его из GitLab, однако я get:
ЗАДАЧА [обновить проект с помощью git]
***********************************************
фатальный: [localhost]: НЕ ПРОШЛО! => {"изменено": false, "cmd": " / usr / bin / git clone --origin origin https: //gitlab.techraf/techraf/project.git / var / lib / awx / projects / _6__project
"," failed ": true," msg ":" fatal: невозможно получить доступ " https: //gitlab.techraf/techraf/project.git/
': Издатель сертификата партнера не является распознано. "," rc ": 128," stderr ":" fatal: недоступен доступ " https: //gitlab.techraf/techraf/project.git/
': издатель сертификата партнера не распознан. \ n "," stderr_lines ": [" fatal: недоступен ' https: //gitlab.techraf/techraf/project.git/
': издатель сертификата партнера не распознан. "]," stdout ":" Клонирование в '/var/lib/awx/projects/_6__project'...\n "," stdout_lines ": [" Клонирование в' /var/lib/awx/projects/_6__project'..." visible}
В качестве проверки работоспособности я пробовал использовать проект из GitHub, и AWX получает его правильно.
В качестве еще одной проверки работоспособности я выполнил ansible localhost -m command -a "/ usr / bin / git clone --origin origin https: //gitlab.techraf/techraf/project.git / tmp / project2
, а также с другого компьютера, чтобы неинтерактивные сеансы оболочки работали одинаково. В любом случае сертификат был принят.
Что может быть причиной того, что git
(вызывается AWX / Ansible) не использует установленный techrafCA.
ip scp server enable При выполнении вручную с помощью шпатлевки это работает нормально. Я пытаюсь сделать то же самое с помощью plink, но ... Я хотел бы выполнить набор команд на устройстве cisco:
conf terminal
ip scp server enable
При выполнении вручную с помощью putty это работает нормально. Я пытаюсь сделать то же самое с помощью plink, но безуспешно.
Попытка 1
plink -ssh user@192.168.1.1 "conf terminal; ip scp server enable"
Попытка 2
plink -ssh user@192.168.1.1 -m script.sh
Похоже, что после терминала настройки
необходимо послать нажатие клавиши «Enter». команда. Другое . использовали VBScript для отправки нажатия клавиши. Можно ли сделать это изначально в plink?
попробуйте использовать '<' вместо параметра -m.
Последняя команда будет выглядеть так
plink -ssh user@192.168.1.1 -pw password_something < do-stuff.txt > output.txt
В этом случае ваш do-stuff.txt может содержать несколько строк и лент новостей (Введите).
чтобы избежать нажатия клавиши «Ввод», вы можете добавить параметр -batch:
plink -ssh (скрытый) -batch «терминал conf; ip scp server enable»