OpenSSH (Откройте Secure Shell) - это набор приложений, которые позволяют шифрованную связь по сети с использованием протокол SSH. Он был создан как бесплатная и открытая альтернатива программе Secure Shell, который является проприетарным программным обеспечением. « Википедия..
Некоторые пользователи могут подумать, что передовой опыт следует применять только на серверах, но это не так. Многие дистрибутивы GNU / Linux включают OpenSSH по умолчанию, и следует помнить о нескольких вещах.
Безопасность
Вот 6 наиболее важных моментов, которые следует учитывать при настройке SSH:
- Используйте надежный пароль.
- Измените порт SSH по умолчанию.
- Всегда используйте версию 2 протокола SSH.
- Отключите root-доступ.
- Ограничьте доступ пользователей.
- Используйте аутентификацию по ключу.
- Другие варианты
Надежный пароль
Хороший пароль — это пароль, содержащий буквенно-цифровые или специальные символы, пробелы, буквы верхнего и нижнего регистра... и т. д. Здесь в DesdeLinux Мы показали несколько методов создания хороших паролей. Можно посетить В этой статье y этот другой.
Изменить порт по умолчанию
Порт по умолчанию для SSH - 22. Чтобы изменить его, все, что нам нужно сделать, это отредактировать файл. / И т.д. / SSH / sshd_config. Ищем строчку, в которой написано:
#Port 22
мы раскомментируем его и меняем 22 на другое число .. например:
Port 7022
Чтобы узнать порты, которые мы не используем на нашем компьютере / сервере, мы можем выполнить в терминале:
$ netstat -ntap
Теперь, чтобы получить доступ к нашему компьютеру или серверу, мы должны сделать это с параметром -p следующим образом:
$ ssh -p 7022 usuario@servidor
Использовать протокол 2
Чтобы убедиться, что мы используем версию 2 протокола SSH, мы должны отредактировать файл / И т.д. / SSH / sshd_config и найдите строку, в которой говорится:
# Протокол 2
Раскомментируем его и перезапускаем SSH-сервис.
Не разрешать доступ как root
Чтобы пользователь root не мог получить удаленный доступ через SSH, мы смотрим в файл/ И т.д. / SSH / sshd_config линия:
#PermitRootLogin no
и раскомментируем. Я думаю, стоит уточнить, что перед этим мы должны убедиться, что у нашего пользователя есть необходимые разрешения для выполнения административных задач.
Ограничить доступ пользователей
Также не помешает разрешить доступ через SSH только определенным доверенным пользователям, поэтому возвращаемся к файлу / И т.д. / SSH / sshd_config и добавляем строку:
Разрешить пользователям elav usemoslinux kzkggaara
Очевидно, что пользователи elav, usemoslinux и kzkggaara будут иметь доступ.
Использовать аутентификацию по ключу
Хотя этот метод является наиболее рекомендуемым, мы должны быть особенно осторожны, потому что мы будем получать доступ к серверу без ввода пароля. Это означает, что если пользователю удастся войти в наш сеанс или наш компьютер украден, у нас могут возникнуть проблемы. Однако давайте посмотрим, как это сделать.
Первым делом нужно создать пару ключей (публичный и приватный):
ssh-keygen -t rsa -b 4096
Затем передаем наш ключ на компьютер / сервер:
ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7
Наконец, нам нужно раскомментировать в файле / И т.д. / SSH / sshd_config линия:
AuthorizedKeysFile .ssh/authorized_keys
Другие варианты
Мы можем сократить время ожидания, в течение которого пользователь может успешно войти в систему, до 30 секунд.
LoginGraceTime 30
Чтобы избежать атак ssh через TCP Spoofing, оставив зашифрованное на стороне ssh активным максимум на 3 минуты, мы можем активировать эти 3 опции.
TCPKeepAlive нет ClientAliveInterval 60 ClientAliveCountMax 3
Отключите использование файлов rhosts или shosts, которые по соображениям безопасности не рекомендуется использовать.
IgnoreRhosts да IgnoreUserKnownHosts да RhostsAuthentication нет RhostsRSAAuthentication нет
Проверьте действующие разрешения пользователя при входе в систему.
StrictModes yes
Разрешить разделение привилегий.
UsePrivilegeSeparation yes
Выводы:
Выполняя эти шаги, мы можем повысить безопасность наших компьютеров и серверов, но мы никогда не должны забывать, что существует важный фактор: что между стулом и клавиатурой. Поэтому рекомендую прочитать В этой статье.
источник: КакКузить
Отличный пост @elav, и я добавляю несколько интересных вещей:
Вход в системуGraceTime 30
Это позволяет сократить время ожидания, в течение которого пользователь может успешно войти в систему, до 30 секунд.
TCPKeepAlive нет
ClientAlive Интервал 60
КлиентАливекаунтМакс 3
Эти три параметра весьма полезны, чтобы избежать атак ssh с помощью TCP Spoofing, оставляя зашифрованное соединение на стороне ssh активным максимум на 3 минуты.
Игнорировать хосты да
IgnoreUserKnownHosts да
RhostsAuthentication нет
RhostsRSA Аутентификация нет
Он отключает использование файлов rhosts или shosts, которые по соображениям безопасности не рекомендуется использовать.
StrictModes да
Эта опция используется для проверки действующих разрешений пользователя при входе в систему.
UsePrivilegeSeparation да
Разрешить разделение привилегий.
Что ж, через некоторое время я отредактирую пост и добавлю в пост 😀
Раскомментирование, чтобы не менять строку, является избыточным. Прокомментированные строки показывают значение по умолчанию для каждой опции (прочтите пояснение в начале самого файла). По умолчанию рут-доступ отключен и т. Д. Поэтому раскомментирование не имеет абсолютно никакого эффекта.
Да, но, например, как мы узнаем, что используем только версию 2 протокола? Потому что мы вполне можем использовать 1 и 2 одновременно. Как сказано в последней строке, например, раскомментирование этого параметра заменяет параметр по умолчанию. Если мы используем версию 2 по умолчанию, хорошо, если нет, то мы используем ее ДА или ДА 😀
Спасибо за комментарий
Очень хорошая статья, я знал несколько вещей, но одна вещь, которая мне никогда не ясна, - это использование ключей, на самом деле, что это такое и какие преимущества у этого есть, если я использую ключи, могу ли я использовать пароли ??? Если да, то почему это повышает безопасность, а если нет, как я могу получить к нему доступ с другого компьютера?
Приветствую, я установил debian 8.1 и не могу подключиться со своего компьютера под управлением Windows к debian с помощью WINSCP, мне придется использовать протокол 1? любая помощь .. спасибо
Адьян
Вас может заинтересовать это видео об openssh https://m.youtube.com/watch?v=uyMb8uq6L54
Я хочу попробовать кое-что здесь, некоторые я уже пробовал благодаря Arch Wiki, другие из-за лени или незнания. Я сохраню его, когда начну свой RPi