WSL에서 SSH 키 암호 입력을 최소화하는 방법 (Keychain 활용)

,
black skeleton keys
Photo by Silas Köhler on Unsplash

SSH 개인키에 암호(Passphrase)가 걸려 있는 경우, 매번 입력하는 번거로움을 해결하기 위해 keychain을 사용한다.

시스템 재부팅 후 첫 터미널 실행 시 딱 한 번만 암호를 입력하면 이후 모든 세션에서 암호 없이 SSH를 사용할 수 있게 해준다.

Keychain 설치

패키지 매니저로 keychain을 설치한다. 우분투 기준:

sudo apt update && sudo apt install keychain -y

쉘 설정 파일 수정 (~/.bashrc 또는 ~/.zshrc)

파일 끝에 아래 내용을 추가한다. (사용 중인 키 파일명이 id_ed25519가 아닌 경우 해당 부분 수정 필요. 예컨대 id_rsa를 사용중이라면 id_rsa를 적는다.)

# 대화형 쉘일 때만 keychain 실행
if [[ $- == *i* ]]; then
    # --quiet: 불필요한 메시지 출력 억제
    # --eval: 에이전트 설정을 현재 쉘에 적용
    eval $(keychain --eval --agents ssh --quiet id_ed25519)
fi

if문은 비대화형 쉘(스크립트 실행 등)에서 암호 입력을 기다리다 멈추는 현상을 방지하기 위해, 대화형 쉘(Interactive Shell)일 때만 실행되도록 가드 구문을 넣은 것이다.

설정 적용

수정한 내용을 즉시 반영한다.

source ~/.bashrc

또는

source ~/.zshrc

요약 코드

Bash 버전:

sudo apt install keychain -y
echo -e "\nif [[ \$- == *i* ]]; then\n    eval \$(keychain --eval --agents ssh --quiet id_ed25519)\nfi" >> ~/.bashrc
source ~/.bashrc

ZSH 버전:

sudo apt install keychain -y
echo -e "\nif [[ \$- == *i* ]]; then\n    eval \$(keychain --eval --agents ssh --quiet id_ed25519)\nfi" >> ~/.zshrc
source ~/.zshrc

카테고리

,

17년차 풀스택 웹 개발자 Mytory입니다

웹 개발에서도 중요한 것은 개념입니다.
이 블로그에는 제가 개발하며 익힌 개념들을 정리합니다.

워드프레스를 오래 다뤄 왔고 강의도 두 편 찍었습니다.
– 인프런 “워드프레스 제대로 개발하기 어드민 편, 클라이언트 편
– 클래스101 “누구나 할 수 있는 워드프레스 홈페이지 만들기 – 기획부터 출시까지 한 방에 OK

유튜브 채널에 워드프레스 관련 팁들을 올리고 있습니다.

👉 소개 더 보기

대표글

댓글 남기기