Я выполнил следующие шаги:
- Ansible войдите как root пользователь
- Пакеты сервера обновлений
- Создайте пользователя с именем deploy
- Клонировать Git Репозиторий с bitbucket.org
Я хочу клонировать репозиторий в качестве пользователя развертывания в его домашнем каталоге, используя метод пересылки s sh.
Но проблема в том, что я не могу получить разрешения даже через s sh пересылку, и ошибка возвращается как: Нет прав на доступ к репозиторию.
Мой инвентарь file:
[production]
rails ansible_host=(my host ip) ansible_user=ubuntu
Мой ansible .cfg файл выглядит следующим образом:
[ssh_connection]
pipelining=True
ssh_args = -o ForwardAgent=true
Мой playbook выглядит так:
---
- hosts: production
remote_user: root
become: yes
tasks:
- name: Update all packages to latest version
apt:
upgrade: dist
- add deploy user tasks here
(deploy user add task)
- name: APP | Clone repo
git:
repo: git@github.com:e911/Nepali-POS-Tagger.git
dest: home/deploy/myproject
accept_hostkey: true
force: true
become: yes
become_user: deploy
tags: app
Мой пользователь развертывания создан, но по какой-то причине я не могу клонировать пользователя в качестве пользователя развертывания. У него нет права доступа. Я исследовал и думаю, что это похоже на то, что ключи s sh не привязаны. Когда я вхожу в систему как ubuntu и переключаю пользователя на развертывание, прикрепленные ключи не пересылаются для развертывания. Но у меня нет решения для этого. Как решить эту проблему? Или что я здесь делаю не так?
Вот фрагмент ошибки:
fatal: [rails]: FAILED! => {
"changed": false,
"cmd": "/usr/bin/git clone --origin origin '' /home/deploy/myproject",
"invocation": {
"module_args": {
"accept_hostkey": true,
"archive": null,
"bare": false,
"clone": true,
"depth": null,
"dest": "/home/deploy/myproject",
"executable": null,
"force": true,
"gpg_whitelist": [],
"key_file": null,
"recursive": true,
"reference": null,
"refspec": null,
"remote": "origin",
"repo": "git@github.com:e911/Nepali-POS-Tagger.git",
"separate_git_dir": null,
"ssh_opts": null,
"track_submodules": false,
"umask": null,
"update": true,
"verify_commit": false,
"version": "HEAD"
}
},
"msg": "",
"rc": 128,
"stderr": "Cloning into '/home/deploy/myproject'...\ngit@github.com: Permission denied (publickey).\r\nfatal: Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.\n",
"stderr_lines": [
"Cloning into '/home/deploy/myproject'...",
"git@github.com: Permission denied (publickey).",
"fatal: Could not read from remote repository.",
"",
"Please make sure you have the correct access rights",
"and the repository exists."
],
"stdout": "",
"stdout_lines": []
}
Я пробовал решения здесь: Ansible и Git Permission denied (publickey ) в Git Clone , но это не помогло.