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

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

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

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

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

Категории

Все категории
Loading categories
sidedoor — Демон SSH-соединений для Debian/Raspbian/Ubuntu и т.д. | Kitploit
Инструменты/GitHubGitHub/daradib/sidedoor
Сетевая безопасностьУтилиты и фреймворкиИнструмент Удаленного Доступа
GitHubdaradib/sidedoor

sidedoor

Демон SSH-соединений для Debian/Raspbian/Ubuntu и т.д.

РепозиторийСайт
12919136 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

sidedoor

sidedoor поддерживает SSH-соединение или туннель с помощью демона-скрипта оболочки.

sidedoor tunneling

Основной вариант использования — поддержание удаленного перенаправления портов на локальный SSH-сервер (или другой порт). Таким образом, локальное устройство может быть доступно без использования входящих соединений, которые могут быть заблокированы NAT или брандмауэром, или иным образом непрактичны для мобильных устройств.

SSH-клиенты могут подключаться к устройству через обратный SSH-прокси, к которому sidedoor прокладывает туннель. Этот прокси-сервер может быть недоверенным и управляться третьей стороной или облачным сервисом.

sidedoor включает SSH keepalives и повторяет попытки SSH с экспоненциальной задержкой. Чтобы переподключиться как можно скорее, он сбрасывает задержку, когда поднимается (или изменяется) сетевой интерфейс.

Другие варианты использования:

  • Доступ к веб-приложению за NAT путем удаленного перенаправления локального веб-сервера (например, порт 80). Удаленный сервер может размещать обратный прокси для веб-приложения и обрабатывать завершение SSL/TLS.
  • Оставайтесь на связи с офисными сетевыми службами за SSH-бастионом, перенаправляя их локально.
  • Расплавьте ленточные резервные копии Evil Corp, удаленно управляя Raspberry Pi (не рекомендуется!).

Вы используете sidedoor? Сообщения об ошибках, запросы функций — пожалуйста, открывайте issue! Приветствуются pull request'ы.

Установка

sidedoor упакован для Debian и систем на основе Debian, таких как Raspbian, Ubuntu и VyOS/[EdgeOS][edgeos], но должен работать в любой POSIX-среде с SSH-клиентом (OpenSSH).

Если sidedoor находится в репозиториях вашего дистрибутива (Debian 9+, Ubuntu 17.04+), просто установите его с помощью менеджера пакетов.

sudo apt install sidedoor

В противном случае вы можете вручную скачать deb-пакеты со страницы релизов.

Чтобы предоставить пользователю sidedoor полный доступ root, установите пакет sidedoor-sudo.

Конфигурация

Удаленный сервер и перенаправления портов настраиваются в /etc/default/sidedoor. Файлы конфигурации SSH находятся в каталоге /etc/sidedoor.

  1. Настройте REMOTE_SERVER и OPTIONS в /etc/default/sidedoor. Некоторые аргументы для передачи в OPTIONS см. в записи блога [Local and Remote Port Forwarding Explained With Examples][portforwarding] и на странице руководства ssh.

  2. Отредактируйте файлы конфигурации SSH в /etc/sidedoor.

    • id_rsa: Приватный ключ SSH для доступа к удаленному серверу. Можно использовать ssh-keygen для создания этого ключа (нажмите y при запросе на перезапись существующего файла):

      sudo ssh-keygen -t rsa -N '' -f /etc/sidedoor/id_rsa
      

      Соответствующий открытый ключ id_rsa.pub необходимо включить в файл ~/.ssh/authorized_keys удаленного пользователя.

    • known_hosts: SSH-ключ хоста удаленного сервера.

  3. Необязательно, предоставьте удаленный доступ локальному пользователю sidedoor, добавив открытый(ые) ключ(и) SSH в файл /etc/sidedoor/authorized_keys. /etc/sidedoor/authorized_keys является символической ссылкой на ~sidedoor/.ssh/authorized_keys. Пакет sidedoor-sudo, если он установлен, предоставляет полный доступ root этому пользователю.

  4. Перезапустите службу sidedoor для применения изменений.

    sudo service sidedoor restart
    

Рекомендации

  • Ограничьте локальный SSH-сервер, отредактировав /etc/ssh/sshd_config.
    • Отключите аутентификацию по паролю (ChallengeResponseAuthentication no и PasswordAuthentication no).
    • Ограничьте демон прослушиванием только localhost (ListenAddress ::1 и ListenAddress 127.0.0.1).
    • Для применения изменений перезапустите или перезагрузите sshd, например, sudo service ssh reload.
  • Измените файл ssh_client_config_example и включите его в ~/.ssh/config клиента, чтобы легко получать доступ к туннелированному SSH-серверу с помощью ssh, scp, rsync и т.д.

Альтернативы

sidedoor задуман как легковесное решение для туннелирования портов с минимальными зависимостями, но существуют некоторые альтернативы с большим количеством функций.

Скрытый сервис Tor

Tor предоставляет анонимность серверам, работающим как [скрытые сервисы][hidden-service], но также обрабатывает обход NAT.

Преимущества:

  • Метаданные, включая IP-адрес локального устройства и состояние его подключения (вкл/выкл), меньше раскрываются посреднику, такому как обратный SSH-прокси.

Недостатки:

  • Tor должен быть установлен и запущен как на локальном устройстве, так и на клиентах.
  • Tor имеет более высокую задержку, поэтому обратная связь терминала (эхо ввода) медленная.

На устройстве и клиентах установите Tor.

sudo apt install tor

На устройстве, которое раскрывается, отредактируйте [/etc/tor/torrc][torrc] для создания скрытого сервиса на порту 22.

HiddenServiceDir /var/lib/tor/sshd/
HiddenServicePort 22 127.0.0.1:22
HiddenServiceAuthorizeClient stealth client

Замените "client" разделенным запятыми списком имен клиентов для генерации нескольких секретов авторизации.

Затем перезагрузите Tor и получите onion-имя хоста и данные авторизации.

sudo service tor reload
sudo cat /var/lib/tor/sshd/hostname

На клиентах отредактируйте [/etc/tor/torrc][torrc] чтобы добавить onion-имя хоста и данные авторизации, указанные в файле hostname.

HidServAuth <hostname>.onion <secret>

Затем перезагрузите Tor и выполните torsocks ssh <hostname>.onion или установите ProxyCommand в файле ~/.ssh/config.

ProxyCommand torsocks nc <hostname>.onion 22

autossh

autossh, как и sidedoor, запускает ssh и перезапускает его по мере необходимости.

Некоторые различия включают:

  • sidedoor — это минималистичный демон-скрипт оболочки. autossh — это более обширная и настраиваемая программа на C.

  • sidedoor включает SSH keepalives (ServerAliveInterval и ServerAliveCountMax), которые доступны в современных версиях OpenSSH. autossh мониторит ssh, отправляя данные через цикл перенаправления портов (эта функция предшествует SSH keepalives), хотя это можно отключить опцией -M 0.

  • sidedoor предназначен для автоматического запуска в качестве службы, поэтому пакет включает init/systemd-скрипты и файлы конфигурации. autossh не включает init/systemd-скрипт (баг Debian #698390).

  • sidedoor отключает удаленные команды и выделение псевдо-tty. Для интерактивного использования рассмотрите autossh с SSH keepalives или Mosh.

  • sidedoor всегда повторяет попытку, если ssh завершается с ненулевым статусом выхода. autossh не повторяет попытку, если ssh завершается слишком быстро при первой попытке, что может произойти при нарушении сетевого подключения или разрешения DNS, особенно на мобильных устройствах. И sidedoor, и autossh имеют логику задержки повтора.

  • sidedoor сбрасывает задержку повтора при поднятии сетевого интерфейса, чтобы попытаться переподключиться как можно скорее, путем получения SIGUSR1 от скрипта if-up.d. autossh не имеет привязок к состоянию сети.

Другие альтернативы

  • OpenVPN
  • PageKite
  • ssh_tunnel

Лицензия

Copyright 2015-2017 Dara Adib.

Эта программа является свободным программным обеспечением: вы можете распространять ее и/или изменять ее в соответствии с условиями GNU General Public License, опубликованной Free Software Foundation, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.

Скачать инструмент