Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
sidedoor — SSH 연결 데몬 (Debian/Raspbian/Ubuntu 등용) | Kitploit
도구/GitHubGitHub/daradib/sidedoor
Network SecurityUtilities & FrameworksRemote Access Tool
GitHubdaradib/sidedoor

sidedoor

SSH 연결 데몬 (Debian/Raspbian/Ubuntu 등용)

저장소 보기웹사이트
129196년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

sidedoor

sidedoor는 쉘 스크립트 데몬을 사용하여 SSH 연결 또는 터널을 유지 관리합니다.

sidedoor 터널링

주요 사용 사례는 로컬 SSH 서버(또는 다른 포트)에 대한 원격 포트 포워드를 유지하는 것입니다. 따라서 로컬 장치는 NAT, 방화벽에 의해 차단되거나 모바일 장치에서 실용적이지 않은 수신 연결을 사용하지 않고도 액세스할 수 있습니다.

SSH 클라이언트는 sidedoor가 터널링하는 역방향 SSH 프록시를 통해 장치에 연결할 수 있습니다. 이 프록시 서버는 신뢰할 수 없으며 제3자 또는 클라우드 서비스에 의해 실행될 수 있습니다.

sidedoor는 SSH keepalive를 활성화하고 지수 백오프로 SSH를 재시도합니다. 가능한 한 빨리 다시 연결하기 위해 네트워크 인터페이스가 활성화(또는 변경)될 때 백오프를 재설정합니다.

다른 사용 사례:

  • 로컬 웹 서버(예: 포트 80)를 원격 포워딩하여 NAT 뒤의 웹 애플리케이션에 액세스합니다. 원격 서버는 웹 애플리케이션에 대한 역방향 프록시를 호스팅하고 SSL/TLS 종료를 처리할 수 있습니다.
  • SSH Bastion 호스트 뒤의 사무실 네트워크 서비스에 연결된 상태를 유지하기 위해 로컬 포워딩합니다.
  • Raspberry Pi를 원격으로 제어하여 Evil Corp의 테이프 백업을 녹입니다 (권장하지 않음!).

sidedoor를 사용하고 계신가요? 버그 리포트, 기능 요청 - 이슈를 열어주세요! 풀 리퀘스트는 환영합니다.

설치

sidedoor는 Debian 및 Debian 기반 시스템(Raspbian, Ubuntu, VyOS/EdgeOS)용으로 패키징되어 있지만, (OpenSSH) SSH 클라이언트가 있는 모든 POSIX 환경에서 작동해야 합니다.

sidedoor가 배포판 저장소(Debian 9+, Ubuntu 17.04+)에 있다면 패키지 관리자로 간단히 설치하세요.

root@kitploit:~
sudo apt install sidedoor

그렇지 않으면 릴리스 페이지에서 deb 파일을 직접 다운로드할 수 있습니다.

sidedoor 사용자에게 전체 루트 액세스 권한을 부여하려면 sidedoor-sudo 패키지를 설치하세요.

설정

원격 서버와 포트 포워드는 /etc/default/sidedoor에서 설정합니다. SSH 구성 파일은 /etc/sidedoor 디렉토리에 있습니다.

  1. /etc/default/sidedoor에서 REMOTE_SERVER와 OPTIONS를 설정합니다. OPTIONS에 전달할 일부 인수는 블로그 게시물 로컬 및 원격 포트 포워딩 설명 (예제 포함)과 ssh 매뉴얼 페이지를 참조하세요.

  2. /etc/sidedoor 아래의 SSH 구성 파일을 편집합니다.

    • id_rsa: 원격 서버에 접근하기 위한 SSH 개인 키. ssh-keygen을 사용하여 이 키를 생성할 수 있습니다 (기존 파일을 덮어쓸 것인지 묻는 메시지가 나타나면 y를 누르세요):

      root@kitploit:~
      sudo ssh-keygen -t rsa -N '' -f /etc/sidedoor/id_rsa
      

      해당 공개 키 id_rsa.pub는 원격 사용자의 ~/.ssh/authorized_keys 파일에 포함되어야 합니다.

    • known_hosts: 원격 서버의 SSH 호스트 키.

권장 사항

  • 로컬 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, scp, rsync 등으로 터널링된 SSH 서버에 쉽게 액세스할 수 있습니다.

대안

sidedoor는 최소한의 종속성으로 포트를 터널링하는 경량 솔루션을 목표로 하지만, 더 많은 기능을 갖춘 몇 가지 대안이 있습니다.

Tor 히든 서비스

Tor는 히든 서비스로 실행되는 서버에 익명성을 제공하지만 NAT 통과도 처리합니다.

장점:

  • 메타데이터(로컬 장치의 IP 주소 및 연결 상태(켜짐/꺼짐) 포함)가 역방향 SSH 프록시와 같은 중개자에게 덜 노출됩니다.

단점:

  • Tor는 로컬 장치와 클라이언트 모두에 설치 및 실행되어야 합니다.
  • Tor는 지연 시간이 길어 터미널 피드백(입력 에코)이 느립니다.

장치와 클라이언트 모두에 Tor를 설치하세요.

root@kitploit:~
sudo apt install tor

노출되는 장치에서 /etc/tor/torrc를 편집하여 포트 22에 대한 히든 서비스를 만듭니다.

root@kitploit:~
HiddenServiceDir /var/lib/tor/sshd/
HiddenServicePort 22 127.0.0.1:22
HiddenServiceAuthorizeClient stealth client

"client"를 클라이언트 이름의 쉼표로 구분된 목록으로 바꾸어 여러 인증 비밀을 생성합니다.

그런 다음 Tor를 다시 로드하고 양파 호스트 이름과 인증 데이터를 가져옵니다.

root@kitploit:~
sudo service tor reload
sudo cat /var/lib/tor/sshd/hostname

클라이언트에서 /etc/tor/torrc를 편집하여 hostname 파일에 표시된 양파 호스트 이름과 인증 데이터를 추가합니다.

root@kitploit:~
HidServAuth <hostname>.onion <secret>

그런 다음 Tor를 다시 로드하고 torsocks ssh <hostname>.onion을 실행하거나 ~/.ssh/config 파일에 ProxyCommand를 설정합니다.

root@kitploit:~
ProxyCommand torsocks nc <hostname>.onion 22

autossh

autossh는 sidedoor와 마찬가지로 ssh를 시작하고 필요에 따라 다시 시작합니다.

몇 가지 차이점은 다음과 같습니다.

  • sidedoor는 미니멀리스트 쉘 스크립트 데몬입니다. autossh는 더 광범위하고 구성 가능한 C 프로그램입니다.

  • sidedoor는 SSH keepalive를 활성화합니다 (ServerAliveInterval 및 ServerAliveCountMax). (최신 OpenSSH 버전에서 사용 가능) autossh는 포트 포워드 루프를 통해 데이터를 보내 ssh를 모니터링합니다(이 기능은 SSH keepalive보다 먼저 나왔습니다). 단, -M 0 옵션으로 비활성화할 수 있습니다.

  • sidedoor는 서비스로 자동 실행되도록 설계되었으므로 패키지에는 init/systemd 스크립트와 구성 파일이 포함되어 있습니다. autossh에는 init/systemd 스크립트가 포함되어 있지 않습니다 (Debian 버그 #698390).

  • sidedoor는 원격 명령 및 의사-tty 할당을 비활성화합니다. 대화형 사용을 위해 SSH keepalive가 있는 autossh 또는 Mosh를 고려하세요.

  • sidedoor는 ssh가 0이 아닌 종료 상태로 종료되면 항상 재시도합니다. autossh는 첫 번째 시도에서 ssh가 너무 빨리 종료되면 재시도하지 않습니다. 이는 특히 모바일 장치에서 네트워크 연결 또는 DNS 확인이 끊어졌을 때 발생할 수 있습니다. sidedoor와 autossh 모두 재시도 백오프 로직이 있습니다.

  • sidedoor는 네트워크 인터페이스가 활성화될 때 재시도 백오프를 재설정하여 if-up.d 스크립트에서 SIGUSR1을 수신하여 가능한 한 빨리 다시 연결을 시도합니다. autossh에는 네트워크 상태 후크가 없습니다.

기타 대안

  • OpenVPN
  • PageKite
  • ssh_tunnel

라이선스

Copyright 2015-2017 Dara Adib.

이 프로그램은 자유 소프트웨어입니다: 자유 소프트웨어 재단이 발표한 GNU 일반 공중 사용 허가서(GPL) 버전 3 또는 (선택에 따라) 이후 버전의 조건에 따라 재배포 및/또는 수정할 수 있습니다.

이 프로그램은 유용하기를 바라며 배포되지만, 어떠한 보증도 없습니다. 상품성 또는 특정 목적에의 적합성에 대한 묵시적 보증조차 없습니다. 자세한 내용은 GNU 일반 공중 사용 허가서를 참조하세요.

이 프로그램과 함께 GNU 일반 공중 사용 허가서 사본을 받았을 것입니다. 그렇지 않다면 https://www.gnu.org/licenses/를 참조하세요.

도구 다운로드
  • 선택적으로, SSH 공개 키를 /etc/sidedoor/authorized_keys 파일에 추가하여 로컬 sidedoor 사용자에게 원격 액세스를 허용합니다. /etc/sidedoor/authorized_keys는 ~sidedoor/.ssh/authorized_keys에 대한 심볼릭 링크입니다. 설치된 경우 sidedoor-sudo 패키지는 이 사용자에게 전체 루트 액세스 권한을 제공합니다.

  • 변경 사항을 적용하려면 sidedoor 서비스를 다시 시작합니다.

    root@kitploit:~
    sudo service sidedoor restart