SSH автологин на удаленный сервер (для Linux систем)

Написано: пятница, 1 мая 2009 г. автор shumer Ярлыки:
2

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

Итак устанавливаем пакет expect, а теперь делаем небольшой скрипт который обеспечит нам автоматический вход в систему:


#!/usr/bin/expect -f
# в переменную хост идет имя или ip сервера который
# передается скрипту первым параметром
set host [lindex $argv 0]
# теперь выполняем ssh
spawn ssh user_name@$host
# ожидаем приглашения на ввод пароля
expect "assword:"
# и собственно пароль вводим
send "password"
# если нужно получить привилегии рута продолжим
expect "~ "
send "su - \r"
# снова ожидаем приглашение
expect ":"
# отправляем пароль
send "root_password"
# и переходим в режим интерактивной работы с консолью
interact
# End ssh_login.sh.

Вот таким нехитрым способом можно сильно упростить себе жизнь, тем более что подвергнув скрипт небольшой модификации можно сразу автоматизировать выполнение необходимых команд на удаленной машине

2 коммент.:

  1. Анонимный пишет:

    А как это все сделать в консоли KDE? У меня в Konsole куча вкладок и было бы шикарно, чтобы при загрузке машины, в каждой из них открывалась ssh сессия.

  1. shumer пишет:

    А что мешает это же использовать в KDE? Эта штука на всех иксах работает, или вы что то другое хотите сделать?