Expect - или упрощение работы по ssh (захода по ssh на машину, выключения,выполнения команд скриптом)


У меня дома под столом стоит ПК, и каждый раз что-бы его выключить приходится заходить на него по ssh, и там писать команду, т.е. вводить еще и пароль при входе- проблемно. Начал искать путь решения и нашел прогу expect,лежит в репах extra. Она умеет заходить на машину по ssh и делать определенные команды

назвал скрипт srv, сделал на него алиас баша и все,набрав в bash'e srv я сразу попадаю на машину без нудных вводов паролей и длинных команд, а если компов много эт сильно все упрощает
#!/usr/bin/expect -f
spawn ssh root@192.168.1.1
expect
assword {send ВАШПАРОЛЬ\r}
interact

собственно еще один скрипт. выключение компа. сделал в менюшке openbox кнопку на него и как только нажимаю на нее комп выключается
#!/usr/bin/expect -f
set timeout 3
set env(TERM)
spawn ssh root@192.168.1.1 shutdown -h now
expect assword {send ВАШПАРОЛЬ\r}
expect eof

expect умеет работать как с ssh, так и с телнет и фтп.
можно что бы он заходил, выполнял нужные вам команды и выходил из пк.
подробнее http://www.ibm.com/developerworks/ru/library/l-expect_3/
А не лучше для этого ключами пользоваться?
когда это делал, почему то про них не вспомнил, а когда сделал все уже работало :) да и прога умеет еще разные плюшки помимо тупого захода ведь :)
читани хотя бы пол мана ssh или пол-статьи http://habrahabr.ru/post/122445 и не робы дурныць
спасибо, сделал буку) и все же эта прога позволяет делать то что не делает ssh (эти два примера в это не входят) :)
Expect конечно годная полезняшка, но в данном случае проще настроить автоизацию по ключу
 
Зарегистрироваться или войдите чтобы оставить сообщение.