Удаленный запуск программ
Использование ssh-agent
Вход на удаленную машину
Для того, чтобы зайти на удаленную машину, т.е. запустить на ней командный интерпретатор, используется команда ssh. В простейшем виде команда имеет следующий синтаксис:
ssh [-l имя_пользователя] [хост|пользоатель@хост] [команда]
Если имя пользователя не указано, то используется имя пользователя запустившего программу ssh. Если не указана команда, то запускается командный интерпретатор пользователя, указанный в файле /etc/passwd.
Задание 2:Зайдите на любую другую машину при помощи команды ssh.
Программа ssh каждый раз запрашивает пароль пользователя, которым защищен секретный ключ. Для того, чтобы пароль не запрашивался постоянно, а сохранялся в памяти для последующего использования, служит программа ssh-agent. Программа создает локальный сокет UNIX и сообщает его другим приложениям при помощи переменных окружения. Режим доступа к сокету устанавливается таким образом, что чтение данных из сокета может производить только создавший его пользователь1. Синтаксис программы:
ssh-agent [-k] [комада]
Программа создает сокет, устанавливает переменные окружения и порождает процесс определенный командой. Этот процесс и его дочерние процессы наследуют переменные окружения указывающие на созданный сокет и на номер процесса ssh-agent. Для использования ssh-agent в текущем процессе можно выполнить команду:
eval ‘ssh-agent‘
Ключ -k используется для завершения программы ssh-agent.
Для добавления ключей в хранилище ssh-agent используется команда ssh-add:
ssh-add [-ld] [file...]
Команда читает указанный файл, содержащий секретный ключ пользователя, запрашивает у пользователя пароль к ключу и передает ключ программе ssh-agent. Если файл ключа не указан, то программа использует файл .ssh/identity. Если в командной строке указан
________________________________________
1Данное ограничение не действует на пользователя root
аргумент -l, то команда ssh-add выводит список ключей. Если указан аргумент -d, то команда удаляет ключ из хранилища ssh-agent.
Задание 3:Запустите программу ssh-agent при помощи команды eval ‘ssh-agent‘, добавьте в хранилище свой ключ. Зайдите при помощи программы ssh на другой компьютер.
При запуске программы на другом компьютере программа ssh перенаправляет стандартные ввод и вывод программы на локальный компьютер. Это делает возможным включение команд запускаемых на удаленной машине в конвейеры выполняемые на локальной машине. Например:
ssh it-1 cat /var/log/messages | grep sshd | \ ssh cat >/tmp/ttt
Задание 4:Выполните команду ls /etc на компьютере nix, отсортируйте результат на любом другом компьютере и сохраните результат в файле отчета.