|
Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » Expect: Удаленное выключение компьютера |
|
Expect: Удаленное выключение компьютера
|
Пользователь Сообщения: 76 |
Надоело каждый раз подключаться по ssh чтобы выключить компьютер. Написал небольшой скрипт:
#!/usr/bin/expect set timeout 30 spawn ssh -p 443 192.168.1.10 expect "user@mycomp" { send "sudo su\r" } expect { "password for*:" { send "mypassword\r" } "root@*#" { send "halt\r" } } expect { "root@*#" { send "halt\r" } } Подскажите что не так в скрипте. PS: ос Ubuntu Server |
|
Отправлено: 10:26, 24-05-2010 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Доброго времени суток. Подозреваю, что топикстартер свою проблему уже решил. Пишу для тех, кто с ней только столкнулся.
Для начала устанавливаем expect: sudo apt-get install После, создаём файл, который у нас станет скриптом выключения сервака. У меня его содержимое выглядит так: #!/usr/bin/expect -f #Строка идентификации spawn ssh -p Порт IP-Адрес #Запуск подпроцесса соединения с сервером через ssh expect -re"password:" #Ожидание ответа, содержащего в тексте - password: send "пароль\r" #Дождавшись, отослать пароль expect -re "\\$ $" #Ждём строку, содержащую $(на него заканчивается приглашение системы) send "sudo su\r" #Отсылаем команду sudo su для перехода в режим суперпользователя expect -re "password for пользователь:" #Ждём запрос пароля send "пароль\r" #Подтверждаем права паролем expect -re "# $" #Ждём строку, содержащую $ send "poweroff\r" #Тушим сервер expect -re "power off NOW!" #Удостоверяемся, что машина ушла на выключение exit 0 #Собственно, удаляемся сами У топикстартера присутствует строка "set timeout 30", назначение которой для меня осталось тайной, возможно она Вам тоже пригодится. |
Отправлено: 17:26, 06-03-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Странный тип Сообщения: 813
|
Профиль | Отправить PM | Цитировать Пароли хранятся в файле открытым текстом? Плохо.
|
------- Отправлено: 18:59, 06-03-2011 | #3 |
ИО Капитана Очевидности Сообщения: 5387
|
Профиль | Отправить PM | Цитировать Цитата Kent:
1. Создать пару ключей (через ssh-agent) 2. СКопировать открытый ключ на удалённый компьютер и прописать в настройках ssh-сервера 3. Подать команду на соединение (ssh username@IP ) 4. Профит |
|
------- Отправлено: 02:45, 11-03-2011 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - Удаленное выключение и перезагрузка компьютера. | poisonkit | Microsoft Windows 2000/XP | 10 | 03-02-2012 17:04 | |
2008 R2 - Удаленное выключение Windows Server 2008 R2 | kerevra | Windows Server 2008/2008 R2 | 3 | 16-05-2010 20:34 | |
[решено] Удаленное выключение сервера | Dimas_83 | Microsoft Windows NT/2000/2003 | 4 | 18-05-2007 20:34 | |
удаленное выключение по сети - проблема | Leo2 | Сетевые технологии | 2 | 19-12-2004 00:23 | |
Удаленное выключение | DimSher | Microsoft Windows 95/98/Me (архив) | 2 | 04-11-2003 12:15 |
|