Если я установлю правило sudo ufw allow from *MY IP* to any port 22
он разрешает доступ к моему серверу только мне, но что произойдет, если мой IP изменится? Потеряю ли я доступ к серверу?
Если вы разрешаете доступ по ssh только с вашего IP-адреса, а затем ваш IP-адрес изменяется, то да, вы теряете доступ к серверу. Однако изменения с использованием sudo ufw
не являются постоянными, поэтому, поскольку вы, вероятно, можете каким-либо образом перезагрузить сервер, не входя в систему, вы можете восстановить. Даже если вы сделаете изменение постоянным (используя iptables-save
), в зависимости от того, откуда вы берете свой сервер, вы можете вернуть его, используя пароль консоли или другое решение.
Я предполагаю, что вы хотите защитить свой сервер от сканирования через порт ssh всем Интернетом? Я рекомендую заставить ssh прослушивать дополнительный случайный порт между 10000 и 49191.
Выберите порт, с которым не связан большой трафик (например, порт 11111 есть кое-что и очевидно используется каким-то трояном, но порт 11114 кажется в основном неиспользованным, давайте представим, что вы выбрали его для примера.
Чтобы sshd прослушивал выбранный вами порт, нужно добавить строку в / etc / ssh / sshd_config. В файле уже есть строка Port 22
. Добавить еще одну строку Port 11114
.
Вы также должны добавить правило брандмауэра, чтобы разрешить доступ с «любого» к дополнительному порту.
Затем вам нужно перезагрузить sshd. Это не убьет ваш текущий сеанс.
Для проверки сначала запустите lsof -i :11114
и lsof -i :22
. Каждый из них должен возвращать строку, заканчивающуюся LISTEN (возможно, две, если у вас есть IPv6 на сервере). Если это нормально, откройте второй ssh с использованием дополнительного порта (таким образом, если вы испортили файл, вы сможете исправить его, используя первый сеанс).
Как только это будет сделано, вы сможете войти в систему из любого места, используя выбранный вами порт. Затем вы можете отключить брандмауэр порта 22 от Интернета в целом.
Конечно, можно изменить конфигурацию вашего ssh-клиента (возможно, PuTTY в Windows, возможно, ssh в Linux), чтобы использовать ваш собственный порт по умолчанию при обращении к вашему серверу, чтобы вам больше не приходилось об этом думать.
Надеюсь это поможет!