Командное соединение ssh для 1000 серверов Linux

Как создать новый раздел на жестком диске? У вас больше нет места.

Однако, если вы хотите создать новый логический том , запустите:

lvcreate -L <The size of the LV> -n <The name of the LV> <name of vg>
mkfs.<format type> <LV path>
2
16.09.2019, 12:05
3 ответа

С помощью GNU Parallel вы можете:

Чтобы найти серверы, которые не принимают вход без пароля:

cat srv |
  parallel timeout 3 ssh {} true ' &>/dev/null ||' echo {}

Чтобы найти серверы, которые принимают вход без пароля:

parallel --nonall --timeout 3 --slf srv --tag echo

Добавьте -j100для запуска на 100 серверах одновременно.

1
27.01.2020, 21:58

попробуйте -o BatchMode=yesкак вариант ssh.

Это предотвратит подтверждение пароля в командной строке, а также принятие отпечатка пальца удаленного хоста.

Вы можете проверить код возврата из ssh

for host in $(< serverlist) 
do
  echo testing $host
  if ssh -o BatchMode=yes $host uptime
  then echo host $host OK
  else echo host $host KO
  fi
done > result.log
4
27.01.2020, 21:58

Используйте параметры SSH, чтобы указать, что вы хотите использовать только PubKey, а не аутентификацию по паролю:

for i in `cat srv`; do echo Server $i\n;  ssh -o PubKeyAuthentication=yes -o PasswordAuthentication=no $i "uptime"; done

Это выходит за рамки данного вопроса, но вы можете проверить возвращаемое значение команды ssh, чтобы определить, удалось ли установить соединение.

0
27.01.2020, 21:58

Теги

Похожие вопросы