2016-04-22 7 views
0

У меня есть сценарий оболочки, который запускает цикл For, читает из текстового файла с именами хостов и использует SCP для передачи файлов на каждый хост. Это было очень полезно, но каков наилучший способ справиться с запросом пароля? Единственной аутентификацией, которую я дал серверам, было имя пользователя и пароль.Сценарий оболочки для передачи файлов

На данный момент мне пришлось вводить пароль для каждого сервера. Он был продуманным, поскольку количество серверов низкое, но я хотел бы иметь лучшее решение в будущем. Любая помощь/предложения были бы замечательными.

Спасибо!

ответ

1

Большинство серверов также поддерживают аутентификацию публики. Generate a keypair на вашем локальном компьютере, затем скопируйте ~/.ssh/id_rsa_pub в удаленный хост ~/.ssh/authorized_keys (или добавьте к нему, если он уже существует). Обработайте ключевую фразу, блокируя секретный ключ, используя ssh-agent.

0

Для этого интерактивного действия вы можете использовать скрипты Expect. Вы можете легко определить удаленный вызов, в котором вы ожидаете для определенной строки (f.e «имя пользователя:»), а затем отправить известный пароль.