본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

ilpianista

0

winaskpass는 ilpianista가 개발한 WSL(Windows Subsystem for Linux)용 ssh-add 헬퍼 프로그램입니다.

자격 증명 관리자

소개

winaskpass는 ilpianista가 개발한 WSL(Windows Subsystem for Linux)용 ssh-add 헬퍼 프로그램입니다. 이 도구는 SSH 키 암호문을 Windows 자격 증명 관리자에 안전하게 저장하여, WSL 환경에서 ssh-add 명령을 사용할 때 반복적인 암호문 입력을 방지합니다.

상세정보

SSH 키 암호문 자동 저장

WSL에서 ssh-add를 실행하면 Windows 보안 대화 상자가 표시되며, 입력한 암호문은 Windows 자격 증명 관리자에 암호화되어 저장됩니다. 저장된 암호문은 이후 동일한 키에 대한 ssh-add 호출 시 자동으로 제공되어 반복 입력이 불필요합니다.

다양한 빌드 방법 지원

  • WSL용 빌드: 기본적으로 PowerShell과 내장 C#을 사용하여 Windows API를 호출합니다.
  • 네이티브 Windows 빌드: native 기능과 x86_64-pc-windows-msvc 타겟을 사용하여 Windows API를 직접 호출하는 방식으로 빌드할 수 있습니다.

WSL에서 설치

cargo install을 사용하여 ~/.cargo/bin/에 설치할 수 있습니다.

cargo install winaskpass

저장소에서 직접 빌드하는 경우:

  1. 저장소를 클론합니다: git clone https://github.com/ilpianista/winaskpass.git
  2. 디렉터리로 이동합니다: cd winaskpass
  3. 릴리스 빌드를 수행합니다: cargo build --release --locked
  4. 생성된 실행 파일은 target/release/winaskpass에 위치합니다.

Windows에서 설치

GitHub releases에서 최신 .exe 파일을 다운로드하여 %PATH%에 포함된 디렉터리에 복사합니다.

네이티브 방식으로 빌드하려면 다음 명령을 사용합니다:

cargo build --release --no-default-features --features native --target x86_64-pc-windows-msvc

환경 변수 설정

ssh가 winaskpass를 사용하도록 환경 변수를 설정합니다:

  • SSH_ASKPASS=/path/to/winaskpass 또는 SSH_ASKPASS=/path/to/winaskpass.exe
  • 필요에 따라 SSH_ASKPASS_REQUIRE=prefer도 설정할 수 있습니다.

ssh-add 실행

  1. WSL 터미널을 엽니다.
  2. ssh-add </dev/null 명령을 실행합니다.
  3. 표시되는 Windows Security 창에서 암호문을 입력하고, 필요 시 ‘Remember me’를 체크합니다.
  4. 입력된 암호문은 Windows 자격 증명 관리자에 저장됩니다.

지원 환경

  • Windows 10/11 운영 체제
  • WSL(Windows Subsystem for Linux) 설치 필요
  • 소스 빌드 시: Rust 및 Cargo 필요

버전 정보

최신 버전은 0.4.0이며, 2026년 1월 15일에 릴리스되었습니다. 이 버전은 네이티브 빌드 기능과 PowerShell 프롬프트 이스케이프 버그 수정을 포함합니다.

라이선스

MIT 라이선스 하에 배포됩니다.

화면으로 보는 주요 기능

SSH 키 암호문 입력창

SSH 키 암호문 입력창

Windows Security 창에서 SSH 키 암호문을 입력하라는 메시지가 표시되어 있으며, '/home/andrea/.ssh/id_ed25519' 파일에 대한 암호를 입력하는 입력란이 있다. 입력란 아래에는 'Remember me' 체크박스와 'OK', 'Cancel' 버튼이 있다.

시스템 요구사항

WSL이 설치된 Windows 운영 체제가 필요합니다. 소스에서 빌드할 경우 Rust 및 Cargo가 필요하며, 사용 시 환경 변수 SSH_ASKPASS와 SSH_ASKPASS_REQUIRE를 설정해야 합니다.