Настройка SSH-сервера #
Документация #
- OpenSSH на ArchWiki (Русский)
- SSH на ALT Linux Wiki
- OpenSSH на ArchWiki
- OpenSSH Manual Pages
- Насторйка OpenSSH
- SSH-сервер OpenSSH, презентация
- SCP and SFTP
- Копирование файлов scp
- Как использовать команду SFTP для передачи файлов
Типичные задачи #
- Установка и настройка автоматического запуска службы
- Настройка сервера
- Умение проверять качество конфигурации SSH-сервера
- Управление портом, на котором запущена служба
- Управление сертификатом, который идентифицирует сервер
- Управление списком поддерживаемых протоколов шифрования
- Управление списком пользователей или групп, которым разрешён доступ
- Настройка аутентификации по ключу
 
- Настройка клиента
- Создание и управление идентификационными ключами
- Установка пользовательских сертификатов в учётную запись
- Настройка параметров SSH-клиента
- Настройка параметров подключения для конкретных серверов
 
- Выполнение типичных задач
- Поднятие Socks-прокси
- Проброс портов
- Подключение через промежуточный компьютер
- Обратное подключение
 
- Передача файлов между сервером и хостом с помощью
- scp
- sftp
- sshfs
 
Задача № 1. Настройка сервера #
При редактировании настроек SSH-сервера необходимо быть аккуратным, т.к. он зачастую является единственным средством связи между локальным компьютером и удалённым сервером. В рамках практики будет использоваться виртуальная машина, её экран является резервным средством доступа к виртуальной машине. При работе с удалённым сервером компании обычно предоставляют дополнительные, зачастую платные, средства для доступа к «экрану» удалённого сервера.
Для выполнения задания запустите виртуальную машину. Настройки sshd-службы необходимо производить внутри виртуальной машины. Параметры для подключения к виртуальной машине:
- Адрес сервера: localhost
- Порт сервера: 2022
- Имя пользователя: user
- Настройка OpenSSH в ALT Linux.
- В каком пакете поставляется SSH-сервер?
- Как называется systemd-служба, которая управляет запуском сервиса?
- К какой стадии инициализации операционной системы относится данная служба?
- По какому порту запущена SSH-служба?
- Откройте руководство по системному конфигурационному файлу службы удалённого доступа sshd:sshd_config. В каком месте находится конфигурационный файл службы в дистрибутиве ALT Linux?
 
- Снижение безопасности сервера.
- Может ли пользователь rootподключиться к серверу?
- Если не может, то внесите настройки, чтобы удалённое подключение было разрешено для пользователя root.
- Проверьте, что можете подключиться к серверу с правами суперпользователя.
- Может ли это являться альтернативой приложениям suиsudo?
 
- Может ли пользователь 
- Ограничьте доступ к серверу выделенными пользователями.
- Ограничьте доступ только пользователем user.
- Удостоверьтесь, что только данный пользователь может выполнить подключение к серверу.
- Пользователь rootне должен иметь возможности подключения к серверу.
- Создайте пользователя test, он не должен иметь возможности подключаться по протоколу SSH.
 
- Пользователь 
- Отмените данные ограничения.
- Удостоверьтесь, что можете подключиться к серверу с правами пользователя root.
 
- Ограничьте доступ только пользователем 
- Ограничение доступа к серверу группой.
- Создайте группу remote-connections.
- Предоставьте только данной группе права на подключение.
- Примените данные настройки.
- Могут ли пользователи userиrootподключиться к серверу?
- Добавьте пользователя userв группуremote-connections.
- Смог ли данный пользователь подключиться к системе?
- Может ли пользователь rootподключиться к системе?
- Разрешите всем пользователям аутентифицироваться в системе.
 
- Создайте группу 
- Аутентификация по ключу.
- Как называется файл для сохранения публичной части ключа для аутентификации на сервере?
- Где располагается данный файл?
- На основной системе создайте RSA-ключ, защищённый с помощью пароля. В качестве пароля можете использовать простую фразу. Не используйте пароль учётной записи user!
- С использованием приложения scpскопируйте публичную часть ключа с основного компьютера на виртуальную машину.
- Поместите публичную часть ключа в файл с сохранением авторизованных ключей пользователя user.
- Удостоверьтесь, что на сервере включена авторизация по ключу.
- Попытайтесь подключится к серверу. Какой пароль запросили: от ssh-ключа или учётной записи на сервере?
- Отключите на сервере возможность подключаться с авторизацией по паролю.
- Попытайтесь подключиться к учётной записи user. Какой пароль подошёл? Ssh-клиент как-то сообщил какой пароль он ожидает получить от пользователя?
- Попытайтесь подключиться к учётной записи root. Какой пароль подошёл?
- Разрешите аутентификацию по паролю.
 
- Аутентификация по ключу, продолжение.
- Создайте нового пользователя adна сервере. Установите удобный пароль для данной учётной записи.
- Создайте на основном компьютере новый ключ ed25519. При создании ключа установите пустой пароль.
- С помощью приложения ssh-copy-idустановите данный ключ для пользователяad.
- Подключитесь к серверу под учётной записью ad. Какой пароль спросили при подключении?
 
- Создайте нового пользователя 
Задание № 2. Настройка клиента #
- Откройте руководство по конфигурационному файлу клиента ssh:ssh_config. В каком месте находится системный конфигурационный файл?
- Откройте системный конфигурационный файл. Какие настройки установлены явно при использовании SSH-клиента?
- Создайте конфигурационный файл клиента на основном компьютере.
- Добавьте в локальный конфигурационный файл клиента описание виртуальной машины playground.- В качестве псевдонима используйте play-vm.
- Укажите IP-адрес виртуальной машины.
- Укажите порт для подключения к виртуальной машине.
- Укажите имя пользователя для подключения, user.
- Используя данный псевдоним выполните подключение к виртуальной машине. Удостоверьтесь, что подключение произошло верно, установлено соединение с нужным компьютером и под нужной учётной записью.
- В каком случае стоит добавлять новые определения в конфигурационный файл?
 
- В качестве псевдонима используйте 
- Добавьте в локальный конфигурационный файл клиента псевдоним для подключения к учётной записи пользователя ad.- В качестве псевдонима используйте play-ad
- Скопируйте настройки для подключения из описания play-vm.
- Измените имя пользователя на ad.
- Укажите путь к приватной части идентификационного ключа ed25519.
- Подключитесь к виртуальной машине. Удостоверьтесь, что подключение произошло с нужной учётной записью.
 
- В качестве псевдонима используйте 
- Добавление сломанного конфигурационного файла.
- Скопируйте описание предыдущего псевдонима для подключения.
- Измените название псевдонима на broken-play.
- Создайте пустой файл empty-keyв домашнем каталоге пользователя.
- В качестве пути к приватному ключу укажите путь к созданному пустому файлу.
- Попытайтесь подключиться к серверу с использованием псевдонима broken-play.
 
Здание № 3. Задачи на передачу файлов #
- Создайте пустой файл data.txtв домашнем каталоге.- С помощью приложения scpскопируйте данный файл в домашний каталог на сервер с использованием псевдонимаplay-vm.
- С помощью приложения scpскопируйте данный файл на сервер без использования псевдонимов.- Какой ключ используется для указания порта севрера?
- Совпадает ли он с соответствующим ключом, который используется в приложении ssh?
 
 
- С помощью приложения 
- Создайте следующую структуру файлов и каталогов в домашнем каталоге пользователя.
data/ ├── source/ │ ├── some.pdf │ └── text.doc └── target/ └── processed-today.txt
- С помощью приложения scpскопируйте данный каталог в каталог/tmpна сервер без использования псевдонимов.- С помощью какого ключа указывается необходимость копирования каталога целиком?
- Повторите копирование каталога так, чтобы в целевом каталоге на сервере произошло обновление файлов, но не появился подкаталог data.
- Что нужно сделать, чтобы появился подкаталог dataв целевом каталоге?
 
- С помощью приложения scpскопируйте каталог/var/logв домашний каталог пользователя на основном компьютере.
- Повторите предыдущие операции с помощью приложения sftp.