Удаленный запуск программ

Использование 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, отсортируйте результат на любом другом компьютере и сохраните результат в файле отчета.