Чтобы не вводить пароль при выполнении каких-либо действий на любом из этих серверов, мне нужно загрузить свой сертификат ssh на удаленный компьютер:
ssh-copy-id CptBartender@remote
Теперь ... Мне нужно загрузить этот сертификат на более чем 400 серверов, и я пытаюсь найти способ не вводить / вставлять мой пароль много раз.
Вопрос: как я могу автоматизировать это в Windows (с MinGW)? Cygwin, скорее всего, не вариант, потому что он, похоже, скрывается за адским брандмауэром.
Пока что я:
- создайте скрипт, который будет перебирать каждый пульт, но он запрашивает пароль для каждого из них
- попытался передать пароль с
yes
но безрезультатно - прочитать о
expect
, но не смог найти способ заставить его работать на MinGW - прочитать о
sshpass
- такой же какexpect
Я думал о AutoIt
но это должно быть лучше ...
Ответы:
PuTTY-х
plink
может принять пароль в качестве параметра командной строки. Он не имеет прямого эквивалентаssh-copy-id
, но это может быть легко написано, например, запустив команды вручную ...... или загрузив файл с
pscp
,Кроме того, если
expect
не будет работать на Windows, конечно, вы могли бы запустить его на одном из этих 400 серверов Linux?(Кроме того, учитывая цифры, возможно, вам стоит изучить возможность извлечения ключей из LDAP или использования AD / Kerberos? В последних версиях OpenSSH есть хуки для интеграции с LDAP без необходимости использования сторонних исправлений.)
источник
plink
и посмотрим, что произойдет, хотя ...Вы можете посмотреть на инструмент Putty Plink, как упомянуто выше. Или вы можете подумать об использовании в будущем одной из систем управления конфигурациями, таких как Puppet, Ansible или Chef. Вы можете использовать любой из них, чтобы добавить сертификат на все ваши серверы в кратчайшие сроки.
В поисках номеров вашего сервера, я думаю, вам нужно серьезно подумать об этом. Они могут использоваться для большинства рутинных задач администрирования сервера, включая управление пользователями, управление файлами и каталогами, а также программное обеспечение.
источник