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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
sshelf — SSH 호스트를 위한 빠른 터미널 UI: 두 번의 키 입력으로 퍼지 검색 및 연결, 듀얼 패널 SFTP 파일 전송, 백그라운드 포트 포워딩을 지원합니다. 자체 호스트 데이터베이스를 유지하며 ssh 명령을 생성합니다 — ~/.ssh/config는 절대 수정하지 않습니다. | Kitploit
도구/GitHubGitHub/max-rh/sshelf
General Purpose UtilitiesNetwork SecurityUtilities & FrameworksAuthenticationRemote Access Tool
GitHubmax-rh/sshelf

sshelf

SSH 호스트를 위한 빠른 터미널 UI: 두 번의 키 입력으로 퍼지 검색 및 연결, 듀얼 패널 SFTP 파일 전송, 백그라운드 포트 포워딩을 지원합니다. 자체 호스트 데이터베이스를 유지하며 ssh 명령을 생성합니다 — ~/.ssh/config는 절대 수정하지 않습니다.

저장소 보기
66893일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
웹사이트
공유

sshelf

SSH 호스트를 퍼지 검색하고 두 번의 키 입력으로 연결하세요.

sshelf는 자체 호스트 목록을 유지하고, ssh 명령을 구성한 다음, 비켜섭니다. 터미널을 실제 OpenSSH에 넘겨주며 ~/.ssh/config는 절대 건드리지 않습니다.

crates.io CI docs built with Ratatui MSRV license

sshelf: 몇 글자만 입력하면 ssh 명령이 준비됩니다

설치

macOS 및 Linux, x86_64 및 arm64. 사전 빌드된 패키지는 Rust 툴체인이 필요 없습니다. 런타임에 sshelf는 OpenSSH 8.4+ 를 요구하며, 이는 비밀번호 자동 공급이 가능한 버전입니다.

Homebrew (macOS 또는 Linux):

root@kitploit:~
brew install max-rh/tap/sshelf

셸 설치 프로그램 (사전 빌드 바이너리, 플랫폼 자동 감지):

root@kitploit:~
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-rh/sshelf/releases/latest/download/sshelf-installer.sh | sh
추가 옵션 (Debian/Ubuntu · Fedora/RHEL · Gentoo · cargo)

Debian/Ubuntu: 최신 릴리스에서 .deb 파일을 받은 후 sudo apt install ./sshelf_*_amd64.deb (또는 *_arm64.deb)를 실행하세요.

Fedora / RHEL / Rocky / openSUSE: 최신 릴리스에서 .rpm (정적 빌드, 모든 RPM 배포판에서 동작) 파일을 받은 후 sudo dnf install ./sshelf-*.x86_64.rpm (또는 .aarch64.rpm)를 실행하세요.

Gentoo: 커뮤니티 유지 오버레이 (비공식, @masterwolf-git님 감사). eselect repository enable masterwolf && emerge --sync && emerge --ask app-admin/sshelf를 실행하세요.

Cargo (crates.io에서; Rust 1.88+ 필요): cargo install sshelf.

셸 탭 완성 기능은 모든 패키지에 포함되어 있습니다. 설치 후 새 셸을 여세요. Linux에서 비밀번호는 순수 Rust Secret Service 백엔드를 사용합니다 (libdbus/OpenSSL 빌드 의존성 없음).

전체 세부 사항 및 완성 설정: 설치 가이드.

만든 이유

저는 수십 대의 머신(홈랩, 일부 VPS, 배스천 뒤의 몇 대)을 운영하면서 ssh -J bastion -i ~/.ssh/some-key -p 2222 user@host를 기억에서 입력하거나 셸 히스토리를 뒤져 찾곤 했습니다. 제가 시도한 모든 SSH 관리자는 ~/.ssh/config를 소유하거나, 계정을 만들어 누군가의 서버를 통해 호스트를 동기화하길 원했습니다. 저는 둘 다 원하지 않았습니다. 자체 목록을 유지하고, 명령을 구성하고, 비켜서는 런처가 필요했습니다. 그리고 키를 사용할 수 없는 소수의 호스트를 위한 비밀번호를 파일에 절대 넣지 않고 보관할 장소도 필요했습니다. 그래서 만들었습니다.

제공 기능

퍼지 런처

입력하여 필터링하세요. Enter로 연결합니다. 가장 많이 사용하는 호스트는 자동으로 상단에 표시되며(frecency: 사용 횟수, 최근 사용 여부에 따라 감쇠), tag:prod / site:homelab으로 목록을 더 좁힐 수 있습니다. Ctrl-y는 실행 대신 구성된 명령을 복사합니다. 셸에서 sshelf prod-web은 이름으로 연결하고 sshelf -는 마지막 호스트에 다시 연결하며, 둘 다 TUI를 열지 않습니다.

입력하면서 세 개의 호스트를 필터링하는 sshelf 런처

ssh로 exec() 실행

sshelf는 호스트 레코드에서 argv를 구성하고, 자체 UI를 내린 다음, OpenSSH로 자기 자신을 대체합니다. 세션과 사용자 사이에 래퍼가 없습니다: 실제 TTY, 여러분의 ssh, 설정 없는 플래그. 세션이 끝나면 메뉴가 아닌 셸로 돌아갑니다. 실행하는 명령은 Ctrl-y가 보여주는 것과 정확히 동일합니다. 명령 구성 방법.

이중 창 파일 전송

Ctrl-t는 단일 인증 연결을 통해 왼쪽에 로컬 파일, 오른쪽에 호스트 파일을 엽니다. Space로 표시, Ctrl-a로 필터에 표시된 모든 항목 표시, Ctrl-s로 전체 세트를 양방향 전송, F7로 디렉터리 생성. 대상에 이미 있는 이름은 건너뛰며 절대 덮어쓰지 않습니다.

두 항목이 표시된 이중 창 전송 화면

백그라운드 포트 포워딩

Ctrl-f는 sshelf를 종료한 후에도, 터미널을 닫은 후에도 계속 실행되는 Local, Remote 또는 SOCKS 터널을 엽니다. F4는 모든 호스트의 모든 터널을 나열하고 선택한 터널을 중지합니다. 터널은 pid로 추적되고 실제 실행 중인 프로세스와 대조되므로, 종료된 후 목록에 남아 있지 않습니다. 데몬도, 슈퍼바이저도 없습니다.

두 개의 활성 터널을 나열하는 포워드 관리자

tmux 모드

tmux = "window" 또는 "pane"을 설정하면 Enter가 sshelf를 대체하는 대신 새 tmux 창(호스트 이름으로 명명) 또는 새 창에서 호스트를 엽니다. 세션을 종료해도 선택기는 계속 실행 중인 상태로 남아 있습니다.

Enter가 새 tmux 창에서 호스트를 엽니다; sshelf는 계속 실행됩니다

사이트 및 태그

F3는 사이트를 관리합니다: 사이트는 호스트를 그룹화하고 공유 배스천, 사용자, 포트, 키를 보유할 수 있으며, 연결 시 구성원이 이를 상속받아 호스트가 설정하지 않은 필드만 채웁니다. 태그는 필터링할 수 있는 자유 형식 레이블입니다. 둘 다 목록에 표시되며, 상속된 배스천은 sshelf가 구성하는 명령에도 표시됩니다.

세 개의 사이트와 공유 기본값을 보여주는 사이트 관리자

sshpass 없는 비밀번호

키를 사용할 수 없는 호스트를 위해 sshelf는 비밀번호를 OS 키링(또는 헤드리스 박스의 age 암호화 볼트)에 저장하고, ssh가 요청할 때 SSH_ASKPASS를 통해 공급합니다. 실제 비밀번호 또는 패스프레이즈 프롬프트 형태의 요청에만 응답하므로, 서버가 유사한 텍스트로 비밀번호를 피싱할 수 없습니다. 비밀번호는 파일에, ps에, 명령줄에 절대 존재하지 않습니다. 인증 코드도 필요한 호스트는 연결 시작 전에 프롬프트가 표시됩니다. 비밀번호, 키 & 2FA · 보안.

키를 선택하는 인증 섹션의 호스트 추가 양식

ssh_config로 내보내기

sshelf export는 자체 ssh_config 조각 하나를 작성하고 ~/.ssh/config에 직접 붙여넣을 단일 Include 줄을 제공합니다. 이후 일반 ssh, scp, rsync, git 및 SSH 구성을 읽는 모든 것(VS Code Remote-SSH, JetBrains Gateway)이 배스천을 포함해 sshelf 호스트를 이름으로 해석합니다. 파일은 호스트가 변경될 때마다 새로 고쳐집니다. sshelf는 여전히 ~/.ssh 아래에 아무것도 쓰지 않습니다.

ssh_config 조각을 작성하는 sshelf export와 조각 자체

기존 항목 가져오기

sshelf import는 ~/.ssh/config를 엄격히 읽기 전용으로 읽고, 모델링할 수 있는 호스트를 복사합니다. sshelf import --tailscale은 여러분의 tailscale CLI를 실행하여 MagicDNS 이름, 사이트로서의 tailnet, ACL 태그를 태그로 사용해 tailnet을 검색 가능한 호스트로 변환합니다. 둘 다 추가 전용이므로 재실행해도 항상 안전하며, 요청하지 않으면 실행되지 않습니다.

sshelf doctor

문제가 있을 때 사용하는 단일 명령. OpenSSH 버전, 비밀 백엔드가 실제로 열리는지, hosts.toml이 파싱되는지, 존재하지 않는 사이트를 가리키는 호스트, 누락된 에이전트 소켓, 드리프트된 내보내기를 확인합니다. 각각에 대한 해결책을 제시합니다. 읽기 전용이며, 실패 시 종료 코드 1을 반환하고, 호스트에 절대 접촉하지 않습니다.

경고 하나와 함께 검사 항목을 나열하는 sshelf doctor

비교

2026년 9월 각 프로젝트의 자체 README(Termius의 경우 사이트)에서 수집. "명시되지 않음"은 프로젝트 자체 문서에 언급이 없음을 의미합니다.

sshelf에는 대시보드, 컨테이너 관리, 팀 공유, Windows 빌드가 없습니다. 처음 세 가지는 선택이며, PRIVACY.md가 이유를 설명합니다: 각각은 sshelf가 여러분의 무언가를 보유하거나 자체적으로 무언가와 통신해야 함을 의미하기 때문입니다.

절대 하지 않는 것

  • 텔레메트리 없음. 분석, 크래시 리포트, 업데이트 확인 없음.
  • 계정, 클라우드, 동기화 서버 없음. 가입할 것이 없습니다.
  • 토큰 보유 없음. sshelf는 클라우드 또는 API 자격 증명을 절대 저장하지 않습니다.
  • 자체 네트워크 호출 없음. 유일한 트래픽은 요청한 SSH 세션뿐입니다.
  • ~/.ssh/config를 절대 편집하지 않으며, ~/.ssh 아래에 아무것도 쓰지 않습니다.
  • hosts.toml에 비밀번호 없음. 이 파일은 커밋하고 공유해도 안전합니다.
  • Electron 없음. 약 4MB의 단일 바이너리.

PRIVACY.md는 읽고, 쓰고, 실행하고, 전송하는 내용을 설명합니다. SECURITY.md는 저장된 비밀번호에 대한 위협 모델입니다.

처음 5분

root@kitploit:~
sshelf                        # TUI 실행 (Ctrl-a로 첫 호스트 추가)
sshelf import --dry-run       # ~/.ssh/config에서 읽기 전용 가져오기 미리보기
sshelf import                 # ...실행
sshelf import --tailscale     # ...또는 전체 Tailscale tailnet 가져오기
sshelf prod-web               # 저장된 호스트에 바로 연결 (TUI 건너뜀)
sshelf -                      # 가장 최근 사용 호스트에 다시 연결
sshelf list tag:prod --json   # 스크립트 가능한 목록 (필드 + ssh 명령)
sshelf print-command db       # 실행 대신 ssh 명령 출력
sshelf export                 # 일반 ssh/scp/VS Code가 호스트를 인식하도록 Include 파일
sshelf doctor                 # 문제가 있나요? 설정을 확인하고 해결책을 안내받기

TUI에서: 입력하여 필터링(tag:NAME / site:NAME 추가)하고 Enter로 연결. F1은 모든 키를 표시합니다.

문서

**사용자 가이드**가 모든 것을 다룹니다: 빠른 시작 · CLI 참조 · 구성 · FAQ · sshelf doctor. 기능별 페이지로 파일 전송, 포트 포워딩, 사이트 & 태그, 비밀번호 & 2FA, 그리고 SSH 구성 내보내기가 있습니다. 아키텍처 및 설계 결정은 docs/에 있으며, 머신용 llms.txt도 있습니다.

질문 & 아이디어

질문하거나, 기능을 제안하거나, 만든 것을 GitHub Discussions에서 보여주세요. 기여를 환영합니다. CONTRIBUTING.md부터 시작하세요.

후원

sshelf가 유용하다면 Bitcoin 팁을 감사히 받겠습니다 (완전 선택 사항):

Donate BTC

Bitcoin: bc1qcdeyhpwq76u97dhymx876n49uq85z4y3ccrpje

라이선스

MIT 또는 Apache-2.0 중 선택하여 이중 라이선스 (Rust 생태계 표준).

도구 다운로드
sshelfpurpleomnysshVoltiusTermius
실행 환경터미널 (TUI)터미널 (TUI)터미널 (TUI) + 데스크톱 앱데스크톱 앱 (Tauri)데스크톱 + 모바일 앱
~/.ssh/config 편집절대 안 함예, 제자리에서아니요, 시작 시 읽기만해당 없음 (자체 저장소)해당 없음 (자체 저장소)
계정 필요아니요아니요아니요실시간 동기화용예
다른 서비스용 토큰 보유아니요예, 클라우드 제공자당 하나아니요예, 동기화용명시되지 않음
자체 네트워크 호출없음클라우드 제공자 동기화호스트 메트릭 폴링동기화, 업데이트, 호스트 메트릭동기화
비밀번호 관리OS 키링 / age 볼트키링 + 비밀번호 관리자명시되지 않음자체 E2EE 볼트자체 암호화 볼트
연결ssh로 exec()ssh 명령 실행내장 터미널내장 터미널내장 터미널
포트 포워딩예, 종료 후에도 유지예, 실시간 모니터링명시되지 않음예예
파일 전송이중 창 SFTP분할 창이중 패널 SFTP이중 창, 드래그 & 드롭SFTP
컨테이너 / 메트릭 대시보드아니요예예예명시되지 않음
팀 공유아니요아니요아니요유료 요금제유료 요금제
플랫폼macOS, LinuxmacOS, LinuxmacOS, Linux, Windows, TermuxWindows, macOS, LinuxmacOS, Windows, Linux, iOS, Android
라이선스MIT / Apache-2.0MITApache-2.0AGPL-3.0독점