Как установить и настроить сервер SSH на Debian Linux?

Установка и тестирование SSH Server

Вы должны быть корнем, чтобы сделать следующее…

su

  1. Установка SSH Server

    apt install openssh-server
     

  2. Проверьте, если серверный процесс существует. Это указывает на то, Установка прошла хорошо.

    ps -A | grep sshd

    Вывод (или похожие): 1753 ? 00:00:00 sshd

     

  3. Установите SSH клиент, чтобы проверить соединение SSH сервера

    apt install openssh-client

    Подключение к локальному для проверки соединения

    ssh localhost

    Кроме того, войдите с IP-адресом интерфейса

    Получить IP-адрес

    ip addr

    SSH по адресу внутрибрюшинно

    ssh {ipaddress here}
     

Защита SSH Server

Это хорошая идея, чтобы защитить сервер SSH отвергая корень для входа и настройки входа только открытым ключом т.е.. Войти с помощью паролей не допускается

Убедитесь в том, чтобы выполнить следующие команды в качестве пользователя, а не корень

  1. Перейдите в домашний каталог пользователя

    cd
     

  2. Проверьте .ssh существует

    ls -a
     

  3. Если .ssh не существует, создать это

    mkdir .ssh
     

  4. Установите разрешение папки в 700

    chmod 700 .ssh
     

  5. Создайте файл authorized_keys

    touch ./.ssh/authorized_keys
     

  6. Изменить разрешение на файл authorized_keys в 600

    chmod 600 ./.ssh/authorized_keys
     

  7. Откройте файл authorized_keys

    nano ./.ssh/authorized_keys
     

  8. Вставьте открытый ключ в файл

    Вы можете получить открытый ключ от клиента SSH. Если клиент Windows 10 то это будет в %USERPROFILE%/.ssh/id_rsa.pub файл. Если клиент Debian, то открытый ключ ~/.ssh/id_rsa.pub.

    Если открытый ключ не существует, генерировать его на клиентской машине

    ssh-keygen -t rsa -C "email@domain.com"
     

  9. Изменение корневого пользователя

    su

  10. Настройка сервера SSH, чтобы принимать только открытые ключи логинов и предотвращение входа для корня

    nano /etc/ssh/sshd_config

    Раскоментируйте и / или отредактируйте следующие строки

    PermitRootLogin no
    StrictModes yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
    PasswordAuthentication no
     

  11. Перезапустите службу Sshd

    service sshd restart
     

  12. Попробуйте войти в систему как суперпользователь из вашего SSH клиента с помощью пароля

    ssh root@{ssh server ip address}

    Вывод: Permission denied (publickey).

     

  13. Попробуйте войти в систему как имя пользователя из вашего SSH клиента с помощью пароля

    ssh username@{ssh server ip address}

    Вывод: Permission denied (publickey).

     

  14. Попробуйте войти в систему как суперпользователь от вашего клиента SSH с помощью открытого ключа

    ssh root@{ssh server ip address} -i .ssh/id_rsa

    Вывод: Permission denied (publickey).

     

  15. Войти, как имя пользователя из вашего SSH клиента с помощью открытого ключа

    ssh username@{ssh server ip address} -i .ssh/id_rsa
     

Если ваш клиент SSH имеет статический IP-адрес, то вы можете рассмотреть только ваш IP-адрес может зайти на сервер SSH.