Введение
В этом практическом занятии (лабораторной работе) вы научитесь использовать команду Linux ssh для удаленного подключения к другим системам Linux и управления ими. SSH (Secure Shell) - это мощный инструмент для системных администраторов и сетевых инженеров, который позволяет выполнять широкий спектр задач удаленно и безопасно.
Результаты
К концу этого практического занятия (лабораторной работы) вы сможете:
- Использовать команду
sshдля безопасного подключения к удаленной системе - Выполнять команды на удаленной системе с помощью SSH
- Понять основы управления удаленной системой
Получение пароля пользователя labex
Перед тем как мы сможем использовать SSH, нам нужно знать пароль для пользователя labex. В этой лабораторной среде пароль хранится в виде переменной окружения.
- Откройте окно терминала в среде рабочего стола, только в терминале среды рабочего стола будут установлены переменные окружения.

Чтобы получить пароль, выполните следующую команду:
printenv | grep PASSWORDПримечание: Вы должны выполнить эту команду в терминале среды рабочего стола, а не в терминале, который вы открыли из верхнего меню.
Эта команда отобразит все переменные окружения, содержащие "PASSWORD". Найдите строку, которая говорит
LABEX_PASSWORD=.... Символы после знака равенства - это ваш пароль.Запишите этот пароль, так как вам он понадобится в последующих шагах.
Важно: Не пытайтесь изменить пароль пользователя labex. Лабораторная среда настроена с использованием этого конкретного пароля, и его изменение может привести к сбою этапов проверки лабораторной работы. Всегда используйте пароль, предоставленный переменной окружения LABEX_PASSWORD в рамках этой лабораторной работы.
Подключение к локальной системе с использованием SSH
Теперь, когда у нас есть пароль, давайте попрактикуемся в использовании SSH для подключения к локальной системе. Это имитирует подключение к удаленной системе.

В терминале используйте следующую команду для подключения к локальной системе с использованием SSH:
ssh labex@127.0.0.1Здесь
127.0.0.1- это адрес петли обратной связи (loopback IP address), который относится к локальной машине. Его часто называют "localhost".Вы можете увидеть сообщение о подлинности хоста. Это сообщение появляется, потому что это первый раз, когда вы подключаетесь к этой "удаленной" системе. В реальной ситуации вы должны проверить отпечаток (fingerprint) перед продолжением. В рамках этой лабораторной работы введите
yesи нажмите Enter, чтобы продолжить.Когда вас попросят ввести пароль, введите пароль, который вы получили на шаге 1. Вы не увидите вводимые символы пароля.
В случае успеха вы увидите новый приглашение (prompt). Это означает, что вы теперь подключены с помощью SSH, даже если все еще находитесь на той же машине.
Чтобы выйти из сеанса SSH, введите
exitи нажмите Enter. Это вернет вас в исходный сеанс терминала.
Выполнение простой команды с использованием SSH
Давайте попрактикуемся в выполнении команды на "удаленной" системе с использованием SSH. Это полезно, когда вам нужно быстро выполнить команду без запуска полноценного сеанса SSH.
Используйте следующую команду для вывода списка содержимого домашнего каталога на локальной системе через SSH:
ssh labex@127.0.0.1 'ls -l ~'Эта команда состоит из следующих частей:
ssh: Команда для запуска SSH - подключенияlabex@127.0.0.1: Пользователь и IP - адрес, к которому мы подключаемся'ls -l ~': Команда, которую мы хотим выполнить на удаленной системе, заключенная в кавычки
Введите пароль пользователя
labex, когда вас попросят.Вы должны увидеть вывод команды
ls -l ~, показывающий содержимое домашнего каталога. Этот вывод поступает из "удаленной" системы, даже если на самом деле это та же машина.Обратите внимание, что на этот раз вы не вошли в полноценный сеанс SSH. Команда была выполнена, и вы сразу вернулись в исходный терминал.
Использование SSH с выделением псевдотерминала
Некоторые команды требуют псевдотерминала для корректного выполнения, особенно интерактивные команды или те, которые генерируют отформатированный вывод. Давайте попрактикуемся в использовании опции -t с SSH для принудительного выделения псевдотерминала.
Выполните следующую команду, чтобы посмотреть время работы системы:
ssh -t labex@127.0.0.1 'uptime'Опция
-tзаставляет SSH выделить псевдотерминал. Это может быть необходимо для команд, которые предполагают выполнение в интерактивной среде.Введите пароль пользователя
labex, когда вас попросят.Вы должны увидеть вывод, показывающий, как долго система работает, а также информацию о средней нагрузке.
Теперь давайте попробуем интерактивную команду. Выполните следующее:
ssh -t labex@127.0.0.1 'top -n 1'Это запустит команду
top, которая обычно предоставляет интерактивное представление о процессах системы, но здесь мы используем опцию-n 1, чтобы выйти после одной итерации.Снова введите пароль пользователя
labex, когда вас попросят.Вы должны увидеть отформатированный вывод, показывающий топ - процессы, запущенные на системе.
Создание и доступ к удаленному файлу
Давайте попрактикуемся в создании файла на "удаленной" системе и доступе к нему. Это демонстрирует, как можно манипулировать файлами на удаленной системе с использованием SSH.
Используйте SSH для создания файла с именем
remote_test.txtв домашнем каталоге удаленной системы:ssh labex@127.0.0.1 'echo "This is a test file created remotely" > ~/remote_test.txt'Эта команда использует SSH для запуска команды
echoна удаленной системе, которая затем выводит текст в новый файл.Теперь давайте посмотрим содержимое только что созданного файла:
ssh labex@127.0.0.1 'cat ~/remote_test.txt'Команда
catиспользуется для отображения содержимого файла.Вы должны увидеть сообщение "This is a test file created remotely" в терминале.
Давайте убедимся в наличии файла, выведя его в списке:
ssh labex@127.0.0.1 'ls -l ~/remote_test.txt'Это покажет вам детали файла, включая права доступа, размер и дату создания.
Резюме
В этой лабораторной работе вы научились использовать команду ssh для удаленного подключения к Linux - системам и управления ими. Вы практиковались в получении пароля пользователя из переменных окружения, подключении к локальной системе с помощью SSH (имитация удаленного подключения), выполнении команд удаленно, использовании SSH с выделением псевдотерминала, а также создании и доступе к файлам на "удаленной" системе.
Эти навыки являются фундаментальными для системных администраторов и всех, кто нуждается в удаленном управлении Linux - системами. Помните, что хотя мы использовали локальную систему для практики, те же команды и техники можно применять для подключения к и управления реально удаленными системами по сети или через Интернет.
Всегда придавайте первостепенное значение безопасности при работе с удаленными системами. Используйте надежные пароли, обновляйте свои системы и рассмотрите возможность дополнительных мер безопасности, таких как аутентификация на основе ключей для производственных окружений.
По мере продвижения в области системного администрирования вы убедитесь, что SSH является незаменимым инструментом для удаленного управления и устранения неполадок.



