Тогда свожу в один пост все, что прочитал в различных источниках (и сделал у себя).
На машине учителя:
1. Генерируем новый ключ, имя моего пользователя - teacher.
ssh-keygen -t dsa
2. Всем моим ученическим компьютерам я "прибил" айпишники к MAC-адресам в настройках DHCP-сервера - 192.168.101.101...112 и, при установке, завел административного пользователя teacher, он по умолчанию в группе wheel.
for i in $(seq 101 112); do ssh-copy-id -i /home/teacher/.ssh/id_dsa teacher@192.168.101.$i; done
Вводим 12 раз пароль пользователя teacher на ученических компах. После этого шага команды от пользователя teacher уже выполняются с авторизацией по ключу.
3. Заходим на ученический компьютер:
ssh-add; ssh 192.168.101.101
Копируем переданный ранее ключ:
su -
mkdir /root/.ssh
cp /home/teacher/.ssh/authorized_keys2 /root/.ssh/
chmod 600 /root/.ssh/authorized_keys2
chown root:root /root/.ssh/authorized_keys2
exit
4. Повторяем пункт 3 еще 11 раз или сколько компьютеров в классе осталось ;)
Все готово! Можно пользоваться односторочниками типа:
ssh-add; for i in $(seq 101 112); do nohup ssh root@192.168.101.$i "shutdown -h now"; done
В кавычках допустимы почти все команды с параметрами, доступные администратору :)
P.S.
Сейчас, пока вспоминал, писал и гуглил, наткнулся на достаточно свежий перевод статьи на эту тему на IBM Developers, там хороший пример скрипта, который хочу взять на вооружение вместо однострочных конструкций.