> 네트워크 관리 > ssh-agent

ssh-agent: SSH 인증 에이전트

ssh-agent는 SSH 프라이빗 키를 메모리에 로드하여 관리하고, SSH 클라이언트가 원격 서버에 연결할 때 비밀번호나 패스프레이즈를 반복적으로 입력할 필요 없이 자동으로 인증을 처리하도록 돕는 프로그램입니다. 이는 SSH 연결의 보안과 편의성을 크게 향상시킵니다.

개요

ssh-agent는 SSH 프라이빗 키를 안전하게 저장하고, 필요한 경우 SSH 클라이언트(ssh)에 제공하여 인증 과정을 간소화합니다. 한 번 패스프레이즈를 입력하면 에이전트가 실행되는 동안 다시 입력할 필요가 없어 편리합니다. 이는 특히 여러 SSH 연결을 자주 사용하는 환경에서 유용합니다.

주요 기능

  • SSH 키 관리 및 저장
  • 반복적인 패스프레이즈 입력 방지
  • SSH 클라이언트와의 안전한 통신
  • 세션 기반 키 유지

주요 옵션

ssh-agent는 주로 백그라운드에서 실행되며, 셸 환경 변수를 설정하여 SSH 클라이언트가 에이전트를 찾을 수 있도록 합니다.

실행 및 제어

생성된 명령어:

명령어를 조합해 보세요.

설명:

`ssh-agent` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

ssh-agent 시작 (bash/sh)

eval "$(ssh-agent -s)"

ssh-agent를 백그라운드에서 시작하고, 현재 셸 세션에 필요한 환경 변수를 설정합니다.

SSH 키 추가

ssh-add ~/.ssh/id_rsa

ssh-agent에 프라이빗 키를 추가합니다. 키에 패스프레이즈가 있다면 이때 한 번 입력합니다.

에이전트 종료

ssh-agent -k

현재 셸 세션에 연결된 ssh-agent 프로세스를 종료합니다.

키 수명 1시간으로 에이전트 시작

eval "$(ssh-agent -s -t 3600)"

에이전트에 추가되는 모든 키의 최대 수명을 1시간(3600초)으로 설정하여 시작합니다.

현재 에이전트에 로드된 키 목록 확인

ssh-add -l

ssh-agent에 현재 로드되어 있는 SSH 키의 목록을 확인합니다.

팁 & 주의사항

ssh-agent를 효과적으로 사용하고 보안을 유지하기 위한 팁입니다.

  • **자동 시작**: `.bashrc` 또는 `.zshrc` 파일에 `eval "$(ssh-agent -s)"`를 추가하여 셸 시작 시 자동으로 에이전트가 실행되도록 설정할 수 있습니다. 이미 실행 중인 에이전트가 있는지 확인하는 로직을 추가하는 것이 좋습니다.
  • **키 목록 확인**: `ssh-add -l` 명령어를 사용하여 현재 ssh-agent에 로드된 SSH 키 목록을 확인할 수 있습니다.
  • **키 제거**: `ssh-add -d ~/.ssh/id_rsa`로 특정 키를 제거하거나, `ssh-add -D`로 모든 키를 제거할 수 있습니다.

주의사항

  • **에이전트 포워딩**: `ssh -A` 옵션을 사용하여 에이전트 포워딩을 할 경우, 원격 서버에서 로컬 에이전트에 접근할 수 있게 됩니다. 이는 편리하지만, 원격 서버가 손상될 경우 로컬 키가 노출될 위험이 있으므로 신뢰할 수 있는 서버에서만 사용해야 합니다.
  • **에이전트 수명**: `ssh-agent -t` 옵션으로 키의 최대 수명을 설정할 수 있습니다. 보안을 위해 너무 긴 수명은 피하는 것이 좋습니다.

동일 카테고리 명령어