Nano Hash - криптовалюты, майнинг, программирование

Ansible: как решить sudo: требуется пароль?

У меня есть 9 серверов, и я пытаюсь установить пакет с помощью ansible, я могу подключиться по ssh к 5 серверам, используя пароль, а остальные 4 не запрашивают пароль при подключении к ним по ssh'ng.

Однако я скопировал ключ id_rsa.pub на все 9 серверов.

Теперь сценарий ansible работает нормально для 5 серверов, но с оставшимися 4 я получаю следующее сообщение об ошибке.

фатальный: [xxx0?]: FAILED! => {"changed": false, "failed": true, "module_stderr": "Соединение с xxx0? закрыто.\r\n", "module_stdout": "sudo: требуется пароль\r\n", " msg": "ОШИБКА МОДУЛЯ", "rc": 1}

Мой Ansible.cfg

[defaults]
filter_plugins =./filter_plugins
roles_path = ./roles
sudo_user = root
host_key_checking = False
retry_files_enabled = False
password = ~/password.txt
timeout = 25

[ssh_connection]
ssh_args = -F ~/.ssh/config -o ControlMaster=no -o ControlPersist=30m
control_path = ~/.ssh/ansible-%%r@%%h:%%p

~/.ssh/config

Host xx0? xx0? xx0? xx0? xx0? xx0? xx0? xx0? xx0? .xyz.com
  User yyy
  Port 22

доступная версия = доступная 2.3.1.0

Как я могу решить эту ошибку?

11.07.2017

  • Возможно, у вас есть ошибки прав доступа к файлу .pub на 4 отказавших серверах. 11.07.2017
  • где я могу увидеть файл .pub? 12.07.2017
  • Он находится в каталоге, в который вы его скопировали. У меня нет возможности это узнать. Кроме того, извините за этот другой комментарий, он предназначался для другого вопроса. Он был удален. 12.07.2017
  • я скопировал свой ключ id_rsa в файл авторизованных ключей на сервере, но там нет файла .pub 12.07.2017
  • Дело в том, что вы хотите проверить права доступа к файлам, к которым ваш скрипт должен получить доступ, чтобы убедиться, что их можно использовать. Читайте, где вам это нужно, выполняйте, где вам это нужно и т. д. Но у меня есть способ узнать, что вам нужно и где. 12.07.2017

Ответы:


1

Вы получаете сообщение об ошибке:

sudo: требуется пароль

Это не означает, что вы не можете подключиться к целевой машине, это означает, что вам нужно предоставить пароль для запуска команды с повышенными разрешениями (или что вы вообще не можете запустить команду с повышенными разрешениями).

Наоборот, это означает, что соединение устанавливается без проблем.

Исправьте конфигурацию sudoers на затронутых машинах.

12.07.2017
  • или лучше дать ansible_sudo_pass в файле инвентаризации? это тоже будет работать? 13.07.2017

  • 2

    Основная проблема заключается в том, что для невыполнимой задачи требуется пароль 4 серверов, поэтому я экспортировал запрос пароля sudo, и это сработало. Не удалось из-за пароля.

    export ANSIBLE_ASK_SUDO_PASS=true
    
    12.07.2017
  • Чтобы удовлетворить предупреждение об устаревании для незаметных процессов, запускаемых из командной строки, добавьте флаг --ask-become-pass (т.е. полная команда может выглядеть так ansible all --ask-become-pass -b --become-user=root -m shell -a 'pwd') 16.01.2019
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..