개요
ssh-copy-id는 SSH 공개 키 인증을 설정하는 과정을 자동화하여, 사용자가 원격 서버에 비밀번호 없이 안전하게 접속할 수 있도록 돕습니다. 이 명령어는 기본적으로 ~/.ssh/id_rsa.pub 또는 ~/.ssh/id_dsa.pub와 같은 기본 공개 키 파일을 사용하지만, 특정 키 파일을 지정할 수도 있습니다.
주요 기능
- SSH 공개 키를 원격 서버에 복사
- authorized_keys 파일의 권한 자동 설정
- 비밀번호 없는 SSH 접속 환경 구축 지원
- 여러 번 실행해도 중복 키 추가 방지 (멱등성)
주요 옵션
ssh-copy-id 명령어는 몇 가지 유용한 옵션을 제공하여 키 복사 과정을 세밀하게 제어할 수 있습니다.
키 및 연결 설정
실행 모드
생성된 명령어:
명령어를 조합해 보세요.
설명:
`ssh-copy-id` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
ssh-copy-id를 사용하여 SSH 공개 키를 원격 서버에 복사하는 다양한 시나리오입니다.
기본 사용법
ssh-copy-id user@remote_host
기본 공개 키(예: ~/.ssh/id_rsa.pub)를 'user' 계정의 'remote_host'에 복사합니다. 비밀번호를 입력하라는 메시지가 나타납니다.
특정 키 파일 지정
ssh-copy-id -i ~/.ssh/my_custom_key.pub user@remote_host
지정된 공개 키 파일(예: ~/.ssh/my_custom_key.pub)을 사용하여 키를 복사합니다.
비표준 SSH 포트 사용
ssh-copy-id -p 2222 user@remote_host
원격 서버가 기본 포트(22)가 아닌 다른 포트(예: 2222)에서 SSH 서비스를 실행하는 경우 사용합니다.
여러 옵션 조합
ssh-copy-id -i ~/.ssh/another_key.pub -p 2222 user@remote_host
특정 키 파일을 사용하여 비표준 포트로 키를 복사하는 예시입니다.
팁 & 주의사항
ssh-copy-id 사용 시 유용한 팁과 주의해야 할 사항들입니다.
사전 준비
ssh-copy-id를 사용하기 전에 다음 사항을 확인하세요.
- 공개 키 생성: 아직 SSH 키 쌍이 없다면 `ssh-keygen` 명령어로 먼저 생성해야 합니다.
- 원격 서버 접근: 원격 서버에 SSH로 접속할 수 있는 비밀번호 또는 다른 인증 수단이 있어야 합니다. ssh-copy-id는 이 초기 인증을 위해 비밀번호를 요구합니다.
권한 문제
ssh-copy-id는 원격 서버의 `~/.ssh` 디렉토리와 `~/.ssh/authorized_keys` 파일의 권한을 자동으로 올바르게 설정해줍니다. 만약 수동으로 키를 복사했다면, `chmod 700 ~/.ssh` 및 `chmod 600 ~/.ssh/authorized_keys` 명령어를 사용하여 권한을 올바르게 설정해야 합니다.
멱등성 (Idempotency)
ssh-copy-id는 이미 복사된 키를 다시 추가하지 않습니다. 따라서 여러 번 실행해도 authorized_keys 파일에 중복된 키가 쌓이지 않습니다. 이는 스크립트에서 사용하기에 매우 편리한 특징입니다.