2012-05-29 2 views
-1

Мне нужно войти в систему более 150 раз и выполнить некоторые команды unix. Проблема заключается в том, что если я создам скрипт, который будет запускаться с одного сервера и ssh на сервер до 150, и выполнить cmds и выйти. Как я могу войти в систему с любым запросом пароля. по какой-то причине я не должен использовать общедоступный и закрытый ключ ssh-keygen или использовать какой-либо дополнительный инструмент с линией bash, например «expect».ssh логин без подсказки

Есть ли какой-либо нормальный способ сделать логин через ssh в одной команде, состоящей из имени пользователя/пароля @ servername, как у нас есть опция в sqlplus и ftp.

+2

Нет, нет. Либо используйте ключ (который вы не хотите), либо инструмент, как ожидание (которого вы тоже не хотите). –

+1

Я бы серьезно задался вопросом, почему вы не можете использовать эти методы (если это не просто упражнение). – Edu

ответ

4

Утилита называется sshpass, которая позволяет указать пароль в командной строке.

Под Ubuntu/Debian установить с помощью sudo apt-get install sshpass

sshpass -p 'abcedf' ssh [email protected] "df > ~/test; cat ~/test; rm ~/test;"

надеюсь, что это помогает

+0

Спасибо Джо ... Очень полезный ответ .. – user1011046

+2

Примите ответ, пожалуйста, пожалуйста? –

1

Вы можете попробовать настройки либо ~/.shosts или /etc/ssh/shosts.equiv на каждом из удаленных хостов. См. man ssh в разделе «АВТОРИЗАЦИЯ».

Смежные вопросы