Ta strona wygląda najlepiej z włączoną obsługą JavaScript

Jak stworzyć klucz krzywej eliptycznej dla użytkownika ansible i dodać go do zdalnych serwerów za pomocą skryptu Bash

 ·  ☕ 1 min czytania  ·  🐧 sysadmin
  1. Oto samouczek wideo

Skrypty i pliki konfiguracyjne są dostępne tutaj:

  1. Zainstaluj sshpass

SLES | openSUSE Leap 15.4

1
sudo zypper install sshpass 

Debian

1
sudo apt install sshpass 

Red Hat

1
sudo dnf install sshpass 
  1. Utwórz plik
1
vim pass_file_ansible

i umieść w nim hasło dla użytkownika ansible, aby mógł łączyć się z zdalnymi hostami.

  1. Ustaw plik skryptu jako tylko do odczytu dla tego użytkownika
1
chmod 400 pass_file_ansible
  1. Utwórz listę serwerów z adresami IP lub nazwami hostów
1
vim servers
  1. Utwórz skrypt
1
vim  ssh-copy-id.sh

I dodaj poniższą zawartość

1
2
3
4
5
6
#!/bin/bash
ssh-keygen -t ed25519 -C "ansible@rancher.local"
servers=$(cat servers)
for i in $servers; do
  sshpass -f pass_file_ansible ssh-copy-id -i ~/.ssh/id_ed25519.pub ansible@$i
done
  1. Upewnij się, że PasswordAuthentication ma ustawioną wartość logiczną na tak w pliku /etc/ssh/sshd_config na zdalnych serwerach.

  2. Ustaw skrypt jako wykonywalny

1
chmod +x ssh-copy-id.sh 
  1. Wykonaj skrypt
1
./ssh-copy-id.sh 
Podziel się

sysadmin
UTWORZONE PRZEZ
sysadmin
QA & Linux Specialist