Автоматическая загрузка публичного ключа на удалённые сервера

Ответить
ya
^-^
Сообщения: 2336
Зарегистрирован: 16 дек 2021, 19:56

Автоматическая загрузка публичного ключа на удалённые сервера

Сообщение ya »

Автоматическая загрузка публичного ключа на удалённые сервера

Установить пакет sshpass

Подготовьте файл с паролями:
Создайте файл, например servers.txt, в котором каждый сервер и пароль будут записаны в формате:

Код: Выделить всё

user@hostname:password
Пример:

Код: Выделить всё

user1@server1.com:password1
user2@server2.com:password2
обратите внимание, что двоеточие является символом-разделителем, но вы можете использовать любой другой, и тогда нужно будет исправить запись: Автоматическая загрузка публичного ключа на удалённые сервера

Код: Выделить всё

#!/bin/bash

# Путь к файлу с паролями
PASSWORD_FILE="servers.txt"

# Путь к вашему публичному SSH ключу
PUBLIC_KEY_FILE="$HOME/.ssh/id_rsa.pub"

# Проверка, существует ли файл с паролями
if [ ! -f "$PASSWORD_FILE" ]; then
    echo "Файл с паролями не найден!"
    exit 1
fi

while IFS=: read -r login password; do
    # Используем sshpass для добавления ключа
    sshpass -p "$password" ssh-copy-id -o StrictHostKeyChecking=no "$login" < "$PUBLIC_KEY_FILE"
done < "$PASSWORD_FILE"
Ответить