Что такое SSH
SSH (Secure Shell) — это сетевой протокол, предназначенный для удалённого управления сервером и передачи данных по зашифрованным TCP соединениям. Большинство хостингов, даже виртуальных, сегодня предоставляет доступ как по FTP, так и по SSH. На мой взгляд, это здорово, SSH намного удобнее и безопаснее в использовании.Настройка SSH
У сайта sheensay.ru появился свой канал в Telegram.
В нём будут публиковаться ссылки на новые материалы и интересные, по моему мнению, публикации.
Спасибо, уже подписался
Настройка будет происходить под выделенный сервер, VDS, VPS на Debian. Конфигурационный файл располагается тут:По умолчанию, демон SSHD (именно в него мы вносим изменения) не нуждается в каких-либо настройках и работает нормально. Мы внесём лишь пару небольших изменений с целью ограничить доступ нежелательных лиц к серверу./etc/ssh/sshd_config.
Если у вас обычный хостинг, всё и так должно быть настроено как надо, переходите к разделу авторизации по ключам.
В результате внесения неправильных изменений в конфигурационный файл вы можете потерять доступ к серверу по ssh, поэтому убедитесь, что у вас есть альтернативные варианты для доступа к нему, например, с помощью панели управления ISPManager.
Как ограничить доступ по SSH
Все изменения вносятся в/etc/ssh/sshd_config
Чтобы изменения вступили в силу, необходимо перезагрузить SSH
Сменить порт
1
| Port 9724 |
22 порта указывать 9724.Способ очень простой и действенный против большинства простых ботов хакеров, которые стучатся в стандартные порты. Тут главное не создать конфликт с другими службами и подобрать заведомо неиспользуемое число.
Запретить авторизацию под root
1
| PermitRootLogin no |
no. Если yes, можно авторизовываться под рутом. Под root работать небезопасно, лучше создать своего пользователя и работать под ним.Если вы авторизованы не под root, перед всеми консольными командами нужно добавлятьsudo— расшифровывается как Substitute User and DO —подмени юзера и делай(под ним). Например, позволяет исполнять команды от имени суперпользователя root.
Уменьшить число попыток авторизации
1
| MaxAuthTries 2 |
Уменьшить время ожидания авторизации
1
| LoginGraceTime 30s |
Закрыть доступ по IP
Если доступ нужен только вам, самым простым и надёжным будет закрыть доступ отовсюду, кроме вашего IP или, если он динамический, то диапазона IP.- Открываем
/etc/hosts.allowи добавляем тудагде1SSHD: 192.168.1.1192.168.1.1— ваш IP. Если у вас динамический IP, определите IP с маской подсети и запишите Вашу подсеть вместо IP, например:
1SSHD: 192.168.0.0/16 - Открываем
/etc/hosts.denyи добавляем туда:1SSHD: ALL
Авторизация SSH по ключам
Намного безопаснее, удобнее и правильнее будет настроить ssh авторизацию без пароля. Для этого будет использоваться авторизация по ключу.Для настройки нам понадобится файловый менеджер, например, Far Manager с плагином WinSCP, и PuttyИтак, вот инструкция:
- Распаковываем архив, открываем PUTTYGEN:
Открываем PUTTYGEN (PuTTY Key Generator) - Вводим и выбираем всё как на скриншоте:
SSH-2 RSAи ключ длиной2048и жмём Generate
Во время генерации ключей водим мышкой по специальному полю под статусной строкой, чтобы пошла генерация ключей (она использует набор из координат мыши)
Генерируем ключи - Теперь нужно заполнить
Key Passphrase(это пароль для доступа к приватному ключу). Заполнять не обязательно, но его наличие повысит безопасность, так как любой, кто имеет доступ к приватному ключу, сможет с его помощью авторизоваться на сервере по ssh:
Сохраняем ключи - Сохраним приватный ключ где-нибудь в надёжном месте —
Save private key. Назовём его, к примеру,sheensay.ru.ppk - А вот публичный ключ нужно сохранить на сервере, куда устанавливаем доступ —
Save public keyНазовём егоsheensay.ru.pub. Авторизуемся по ssh по паролю и переходим в директорию пользователя, под которым будет происходить авторизация.
В целях безопасности нежелательно работать под рутом, но я покажу пример команд для root, а вы уже скорректируете под своё имя пользователя
Итак, копируем файлsheensay.ru.pubв/root/.ssh/.
Далее нужно импортировать данные в файлauthorized_keys
После1ssh-keygen -i -f/root/.ssh/sheensay.ru.pub >>/root/.ssh/authorized_keyssheensay.ru.pubможно удалить - Осталось настроить подключение. Я пользуюсь Far Manager в связке с плагином WinSCP.
Открываем Far Manager, Alt + F1, выбираемFar Manager 3имеет встроенный NetBox, последователя WinSCP, так что, ничего дополнительно устанавливать не придётся.WinSCP, далее Shift + F4 и настроим наше подключение. Допустим, мы сохранили приватный файл вD:/SSH/
При настройке нужно будет указать IP или доменное имя на нём для доступа к серверу, порт, на котором висит SSH, имя пользователя и путь к приватному файлу-ключу
Настройка подключения по SSH - Подключаемся. Если при генерации ключей вы вводили пароль, то в этом случае при подключении у вас будет запрашивать пароль к приватному файлу.
Server refused our key, то есть Сервер не принял наш ключ. В этом случае пройдитесь по всем пунктам последовательно и поищите ошибкуОтключить авторизацию по паролю
Теперь, когда всё настроено, совсем не лишним будет отключить авторизацию по паролю. Для этого внесём изменения в конфигурационный файл
1
| PasswordAuthentication no |
Как перезагрузить SSH
- Debian, Ubuntu
или1
servicesshrestart
1/etc/init.d/sshrestart - CentOS, FreeBSD, Fedora
или1
service sshd restart
1/etc/init.d/sshdrestart
Комментариев нет:
Отправить комментарий