ЛР 1.1 - работа с SSH
Для выполнения лабораторной работы потребуются две виртуальных машины с Linux. Одна из них будет клиентом (с которого будет производиться подключение), другая - сервером (к которому будет производиться подключение. SSH-соединение будет выполняться по ключу клиента. Перед выполнением убедитесь, что у пользователя root на сервере установлен пароль.
- От имени пользователя клиентской машины, сгенерируйте новый ключ:
ssh-keygen -t rsa
- С помощью утилиты ssh-copy-id скопируйте публичный ключ на сервер, указав ip и логин учетки сервера.
ssh-copy-id <username>@<server_ip>
- Подключитесь к серверу стандартной командой, обратите внимание, что пароль более не запрашивается.
ssh <username>@<server_ip>
- На сервере от имени суперпользователя откройте на редактирование файл конфигурации ssh-сервера, раскомментируйте строку и поменяйте значение директивы PermitRootLogin:
nano /etc/ssh/sshd_config
PermitRootLogin yes
- От имени суперпользователя перезапустите сервис сервера ssh:
systemctl restart ssh
- Вернитесь на клиентскую машину и повторите копирование ключа, в этот раз скопируйте локальный ключ пользователю root на сервере.
ssh-copy-id root@<server_ip>
- Подключитесь к серверу под учетной записью root по ключу:
ssh root@<server_ip>
- На сервере снова откройте на редактирование файл конфигурации ssh-сервера и поменяйте значение директивы PermitRootLogin, запретив ssh-подключение под root без ключа:
nano /etc/ssh/sshd_config
PermitRootLogin without-password
- Вновь перезапустите сервис сервера ssh:
systemctl restart ssh
- Проверьте, что с машины-клиента можно по-прежнему подключится к машине-серверу под root по ключу, а с другой машины не удается войти даже с паролем.
- Самостоятельное задание - найдите в файле конфигурации сервера ssh директиву, определяющую порт, который слушает ssh-сервер. Измените его и подключитесь к новому порту. Помните, что конфиг перечитывается только при перезапуске.