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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ssh-hardening — SSH 강화 | Kitploit
도구/GitHubGitHub/spookey007/ssh-hardening
General Purpose UtilitiesScripting & AutomationConfiguration AuditingNetwork SecurityAuthentication
GitHubspookey007/ssh-hardening

ssh-hardening

SSH 강화

저장소 보기
36개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

SSH 강화

Debian/Ubuntu에서 SSH를 한 번에 잠급니다: 새 포트, 루트 로그인 금지, 키 기반 인증, 선택적 UFW 및 Fail2Ban.


확인할 내용

스크립트를 실행하면 OS를 감지하고 설정을 표시한 후 계속할지 묻습니다:

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️⃣ PC에서 SSH 키 생성 (SSH_PUB_KEY로 붙여넣기)

Linux / macOS

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

기본 경로(~/.ssh/id_ed25519)로 Enter를 누르세요. 선택적으로 암호를 설정할 수 있습니다.

공개 키 표시 (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️⃣ 프롬프트에 응답

  • 설정(사용자, 포트, 키) 확인.
  • UFW 및 Fail2Ban에 대해 Y 또는 n 선택.

7️⃣ 로그인 테스트 (현재 세션을 닫기 전에)

새 터미널에서 새 포트(22 아님)를 사용하여 연결:

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

설정한 포트와 사용자를 사용하세요. 로그인 및 sudo 작동을 확인한 후에만 원래 세션을 닫으세요.


새 사용자를 위한 팁

  • 매번 새 포트를 사용하세요. 강화 후 SSH는 더 이상 포트 22에 있지 않습니다. 항상 다음으로 연결:

    root@kitploit:~
    ssh -p <YOUR_PORT> <USER>@<SERVER_IP>
    

    예: ssh -p 49221 [email protected]

  • 스크립트 출력을 완료 시 저장하세요. 마지막에 스크립트는 사용자, 포트, 연결 명령, 암호 설정 여부가 포함된 요약을 출력합니다. 해당 블록을 복사하거나 스크린샷을 찍어 안전한 곳에 보관하세요. SSH 키를 분실하거나 포트를 잊어버리거나 암호를 잊어버린 경우, 이 기록이 복구 또는 재연결(예: 동일한 사용자와 암호로 콘솔/VNC를 통해)에 도움이 됩니다.

  • 스크립트는 필요한 모든 것을 출력합니다: 사용자, 포트, UFW/Fail2Ban 상태 및 정확한 ssh -p ... 명령. 추측할 필요가 없습니다.


사용자가 이미 존재하는 경우

SSH_USER가 서버에 이미 있는 경우 스크립트는 새 사용자를 생성하지 않으며 암호를 변경하지 않습니다. 다음만 수행합니다:

  • 사용자가 sudo 그룹에 속해 있는지 확인
  • SSH_PUB_KEY를 전달하면 ~/.ssh/authorized_keys 업데이트
  • SSH 구성 강화, 그리고 선택적으로 UFW 및 Fail2Ban

따라서 기존 암호를 건드리지 않고 "강화만" 하려면 다시 실행할 수 있습니다.


설정해야 할 항목


OS 지원 및 git 설치

지원되지 않는 OS에서는 스크립트가 Coming soon 😊를 출력하고 아무것도 변경하지 않고 종료됩니다.


보안 참고 사항

  • **SSH_PUB_KEY**를 설정하여 암호 인증이 비활성화된 후에도 로그인할 수 있도록 하세요.
  • VM 또는 일회용 서버에서 먼저 테스트하세요.
  • ssh -p PORT user@server를 테스트할 때까지 현재 세션을 열어 두세요.

커피 한 잔 사주기

이 스크립트가 시간을 절약해 주거나 골칫거리를 덜어주었다면, 일회성 팁으로 프로젝트를 지원할 수 있습니다.

BTC: 3L1Gc4avD4Bqoi2F9aq6z4heT13fXA8DZ9

어쨌든 감사합니다.


저자

@spookey007

도구 다운로드
변수예시설명
SSH_USERkamaileo사용자 이름 (없으면 생성, 존재하면 암호는 변경되지 않음).
SSH_PASS'YourPass123!'새 사용자만을 위한 암호. 강력한 암호를 사용하세요.
SSH_PORT49221SSH 포트. ssh -p 49221 user@server로 사용합니다.
PORTS"5060,5061,10000-20000"UFW용 추가 포트(선택 사항).
SSH_PUB_KEY"ssh-ed25519 AAAA..."공개 키. 잠금 당하지 않도록 강력히 권장합니다.
OS지원테스트됨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