Создайте новый ключ SSH на Linux
# ssh-keygen

Создание скрипта bash для нескольких удаленных входов
Затем создайте скрипт, который поможет скопировать открытый ключ на несколько удаленных хостов Linux.
# vim ~/.bin/ssh-copy.sh
#!/bin/bash
USER_NAME="root"
HOST_FILE="/root/hosts"
ERROR_FILE="/tmp/ssh-copy_error.txt"
PUBLIC_KEY_FILE="$1"
if [ ! -f $PUBLIC_KEY_FILE ]; then
echo "File '$PUBLIC_KEY_FILE' не найден!"
exit 1
fi
if [ ! -f $HOST_FILE ]; then
echo "File '$HOST_FILE' не найден!"
exit 2
fi
for IP in `cat $HOST_FILE`; do
ssh-copy-id -i $PUBLIC_KEY_FILE $USER_NAME@$IP 2>$ERROR_FILE
RESULT=$?
if [ $RESULT -eq 0 ]; then
echo ""
echo "Открытый ключ успешно скопирован на $IP"
echo ""
else
echo "$(cat $ERROR_FILE)"
echo
exit 3
fi
echo ""
done
Сохраните файл и закройте его.
Затем сделайте скрипт исполняемым с помощью команды chmod, как показано далее:
# chmod +x ssh-copy.sh
# ./ssh-copy.sh /root/.ssh/prod-rsa.pub
После запуска ssh-agent добавьте к нему свой закрытый ключ следующим образом:
# eval "$(ssh-agent -s)" # ssh-add ~/.ssh/prod_rsa
Вход на удаленный сервер Linux без пароля
Теперь вы можете войти на любой из своих удаленных хостов, не вводя пароль для аутентификации пользователя SSH.
Таким образом, вы можете автоматизировать межсерверные процессы.
# ssh root@10.2.32.12
Если у вас есть какие-либо особые возможности для улучшения скрипта, сообщите нам об этом через форму обратной связи ниже.



