
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










댓글 남기기