LINUX.ORG.RU

Автоматическая аутентификация по паролю

 


0

1

Допустим нужно зайти по ssh на железку 128.0.0.3, логин:пароль root:root. Железка аутентификацию по ключу не поддерживает, только по паролю. Но клиент openssh не умеет передавать пароли открытым текстом, а хочется всё же автоматизировать, чтобы руками не вводить. Как сделать?

★★★★★

expect

пример говнокода

#!/usr/bin/expect -f
if {[llength $argv] != 1} {
	puts "Use ./script <host>"
	exit 1
}
set timeout 5
set remote_server [lindex $argv 0]
expect { 
	"(yes/no)" { send "yes\r" }
}
expect  {
	"*assword*"  { send "password\r" }
}
interact

feanor ★★★
()

Какие ещё способы кроме expect есть? Можно наверное как-то сделать, чтобы пароль передавался со стандартного ввода через паузу.

sunny1983 ★★★★★
() автор топика

Железка аутентификацию по ключу не поддерживает, только по паролю. Но клиент openssh не умеет передавать пароли открытым текстом

странная железка: ssh держит, а ключи нет подумалось: с чего это вдруг

anonymous
()
Ответ на: комментарий от sunny1983

Да, у нас в некоторых свитчах похоже используется какой-то старый алгоритм шифрования. Подключиться по ssh я к ним не могу, пишет «no matching key exchange method found. Their offer: diffie-hellman-group1-sha1»? Что нужно поменять в настройках клиента никто не подскажет?

sunny1983 ★★★★★
() автор топика
Ответ на: комментарий от sunny1983

вместо expect можно использовать маленький empty

futurama ★★★★★
()
Ответ на: комментарий от anonymous

Интересуйтесь, это полезно. Но от высказываний типа «странная, уязвимая железка», если вы не работали в телекоме, лучше воздерживаться.

sunny1983 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.