Что такое 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.1
192.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:
- Вводим и выбираем всё как на скриншоте:
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_keys
sheensay.ru.pub
можно удалить - Осталось настроить подключение. Я пользуюсь Far Manager в связке с плагином WinSCP.
Far Manager 3
имеет встроенный NetBox, последователя WinSCP, так что, ничего дополнительно устанавливать не придётся.WinSCP
, далее Shift + F4 и настроим наше подключение. Допустим, мы сохранили приватный файл вD:/SSH/
При настройке нужно будет указать IP или доменное имя на нём для доступа к серверу, порт, на котором висит SSH, имя пользователя и путь к приватному файлу-ключу
- Подключаемся. Если при генерации ключей вы вводили пароль, то в этом случае при подключении у вас будет запрашивать пароль к приватному файлу.
Server refused our key
, то есть Сервер не принял наш ключ. В этом случае пройдитесь по всем пунктам последовательно и поищите ошибкуОтключить авторизацию по паролю
Теперь, когда всё настроено, совсем не лишним будет отключить авторизацию по паролю. Для этого внесём изменения в конфигурационный файл
1
| PasswordAuthentication no |
Как перезагрузить SSH
- Debian, Ubuntu
1
service
ssh
restart
1/etc/init
.d
/ssh
restart
- CentOS, FreeBSD, Fedora
1
service sshd restart
1/etc/init
.d
/sshd
restart
Комментариев нет:
Отправить комментарий