ЛР 1.1 - работа с SSH

Для выполнения лабораторной работы потребуются две виртуальных машины с Linux. Одна из них будет клиентом (с которого будет производиться подключение), другая - сервером (к которому будет производиться подключение. SSH-соединение будет выполняться по ключу клиента. Перед выполнением убедитесь, что у пользователя root на сервере установлен пароль.

  1. От имени пользователя клиентской машины, сгенерируйте новый ключ:
    ssh-keygen -t rsa
  2. С помощью утилиты ssh-copy-id скопируйте публичный ключ на сервер, указав ip и логин учетки сервера.
    ssh-copy-id <username>@<server_ip>
  3. Подключитесь к серверу стандартной командой, обратите внимание, что пароль более не запрашивается.
    ssh <username>@<server_ip>
  4. На сервере от имени суперпользователя откройте на редактирование файл конфигурации ssh-сервера, раскомментируйте строку и поменяйте значение директивы PermitRootLogin:
    nano /etc/ssh/sshd_config
    PermitRootLogin yes
  5. От имени суперпользователя перезапустите сервис сервера ssh:
    systemctl restart sshd
  6. Вернитесь на клиентскую машину и повторите копирование ключа, в этот раз скопируйте локальный ключ пользователю root на сервере.
    ssh-copy-id root@<server_ip>
  7. Подключитесь к серверу под учетной записью root по ключу:
    ssh root@<server_ip>
  8. На сервере снова откройте на редактирование файл конфигурации ssh-сервера и поменяйте значение директивы PermitRootLogin, запретив ssh-подключение под root без ключа:
    nano /etc/ssh/sshd_config
    PermitRootLogin without-password
  9. Вновь перезапустите сервис сервера ssh:
    systemctl restart sshd
  10. Проверьте, что с машины-клиента можно по-прежнему подключится к машине-серверу под root по ключу, а с другой машины не удается войти даже с паролем.
  11. Самостоятельное задание - найдите в файле конфигурации сервера ssh директиву, определяющую порт, который слушает ssh-сервер. Измените его и подключитесь к новому порту. Помните, что конфиг перечитывается только при перезапуске.