Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ssh-hardening — Укрепление SSH | Kitploit
Инструменты/GitHubGitHub/spookey007/ssh-hardening
Утилиты общего назначенияСкриптинг и автоматизацияАудит конфигурацииСетевая безопасностьАутентификация
GitHubspookey007/ssh-hardening

ssh-hardening

Укрепление SSH

Репозиторий
36 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

SSH Hardening

Заблокируйте SSH на Debian/Ubuntu одной командой: новый порт, запрет входа root, аутентификация по ключу, опционально UFW и Fail2Ban.


Что вы увидите

При запуске скрипт определяет вашу ОС и показывает настройки перед запросом на продолжение:

SSH Hardening — script prompt


Быстрый старт (пошагово)

1️⃣ Установите git (если нужно)

На Debian/Ubuntu:

root@kitploit:~
sudo apt-get install -y git

2️⃣ Клонируйте репозиторий и перейдите в папку

root@kitploit:~
rm -rf ssh-hardening
git clone https://github.com/spookey007/ssh-hardening.git
cd ssh-hardening

Запускайте это в любое время, когда хотите получить последнюю версию скрипта.

3️⃣ Сделайте скрипты исполняемыми

root@kitploit:~
chmod +x ssh_harden.sh script.sh

Если пропустите этот шаг, при запуске ./ssh_harden.sh может появиться ошибка "command not found". В этом случае используйте шаг 5 с sudo bash ssh_harden.sh.

4️⃣ Создайте SSH-ключ на вашем ПК (чтобы вставить как SSH_PUB_KEY)

Linux / macOS

root@kitploit:~
ssh-keygen -t ed25519 -C "[email protected]"

Нажмите Enter для пути по умолчанию (~/.ssh/id_ed25519). Опционально: задайте парольную фразу.

Покажите ваш публичный ключ (скопируйте его в SSH_PUB_KEY):

root@kitploit:~
cat ~/.ssh/id_ed25519.pub

Windows (PowerShell или Git Bash)

root@kitploit:~
ssh-keygen -t ed25519 -C "[email protected]"

Нажмите Enter для пути по умолчанию. Опционально: задайте парольную фразу.

Покажите ваш публичный ключ:

  • PowerShell: Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub
  • CMD: type %USERPROFILE%\.ssh\id_ed25519.pub

Скопируйте всю строку (начинается с ssh-ed25519 ...). Это ваш SSH_PUB_KEY.

5️⃣ Запустите скрипт от root

Замените значения на свои и выполните:

root@kitploit:~
sudo SSH_USER=kamaileo \
     SSH_PASS='YourStrongPassword123!' \
     SSH_PORT=49221 \
     PORTS="5060,5061,10000-20000" \
     SSH_PUB_KEY="ssh-ed25519 AAAA... you@yourmachine" \
     ./ssh_harden.sh

Если появляется "command not found", используйте:

root@kitploit:~
sudo bash ssh_harden.sh

(с теми же SSH_USER=... SSH_PASS=... и т.д. впереди).

6️⃣ Следуйте подсказкам

  • Подтвердите настройки (пользователь, порт, ключ).
  • Выберите Y или n для UFW и Fail2Ban.

7️⃣ Проверьте вход (перед закрытием текущей сессии)

В новом терминале подключитесь по новому порту (не 22):

root@kitploit:~
ssh -p 49221 kamaileo@YOUR_SERVER_IP

Используйте порт и пользователя, которые вы задали. Закрывайте исходную сессию только после того, как убедитесь, что вход и sudo работают.


Советы для новых пользователей

  • Каждый раз используйте новый порт. После усиления SSH больше не работает на порту 22. Всегда подключайтесь с помощью:

    root@kitploit:~
    ssh -p <ВАШ_ПОРТ> <ПОЛЬЗОВАТЕЛЬ>@<IP_СЕРВЕРА>
    

    Пример: ssh -p 49221 [email protected]

  • Сохраните вывод скрипта после завершения. В конце скрипт выводит сводку с вашим пользователем, портом, командой подключения и информацией о том, был ли задан пароль. Скопируйте или сделайте скриншот этого блока и сохраните в надёжном месте. Если вы потеряете SSH-ключ, забудете порт или пароль, эта запись поможет вам восстановить доступ или переподключиться (например, через консоль/VNC с тем же пользователем и паролем).

  • Скрипт выводит всё необходимое: пользователь, порт, статус UFW/Fail2Ban и точную команду ssh -p .... Никаких догадок.


Если пользователь уже существует

Если SSH_USER уже есть на сервере, скрипт не создаёт нового пользователя и не меняет пароль. Он только:

  • Убеждается, что пользователь находится в группе sudo
  • Обновляет ~/.ssh/authorized_keys, если вы передали SSH_PUB_KEY
  • Усиливает конфигурацию SSH и опционально UFW и Fail2Ban

Таким образом, вы можете запустить его снова для "только усиления" без изменения существующего пароля.


Что нужно задать


Поддержка ОС и установка git

На неподдерживаемых ОС скрипт выводит Coming soon 😊 и завершается без изменений.


Замечания по безопасности

  • Укажите SSH_PUB_KEY, чтобы вы могли войти после отключения аутентификации по паролю.
  • Сначала протестируйте на виртуальной машине или одноразовом сервере.
  • Держите текущую сессию открытой, пока не проверите ssh -p ПОРТ пользователь@сервер.

Купить мне кофе

Если этот скрипт сэкономил вам время или избавил от головной боли, вы можете поддержать проект разовым пожертвованием.

BTC: 3L1Gc4avD4Bqoi2F9aq6z4heT13fXA8DZ9

В любом случае спасибо.


Автор

@spookey007

Скачать инструмент
ПеременнаяПримерЧто делает
SSH_USERkamaileoИмя пользователя (создаётся, если отсутствует; если существует, пароль остаётся без изменений).
SSH_PASS'YourPass123!'Пароль только для новых пользователей. Используйте надёжный.
SSH_PORT49221Порт SSH. Вы будете использовать: ssh -p 49221 пользователь@сервер.
PORTS"5060,5061,10000-20000"Дополнительные порты для UFW (опционально).
SSH_PUB_KEY"ssh-ed25519 AAAA..."Ваш публичный ключ. Настоятельно рекомендуется, чтобы не потерять доступ.
ОСПоддерживаетсяПротестированоУстановка git
Debian 12 x64✅✅sudo apt-get install -y git
Debian 11/10, Ubuntu 24/22/20✅❌sudo apt-get install -y git
RHEL / Rocky / Alma / CentOS❌❌sudo yum install -y git
Fedora❌❌sudo dnf install -y git
Arch❌❌sudo pacman -Syu git
openSUSE❌❌sudo zypper install -y git