> 네트워크 관리 > ssh-copy-id

ssh-copy-id: SSH 공개 키 복사

ssh-copy-id 명령어는 로컬 시스템의 SSH 공개 키를 원격 서버의 authorized_keys 파일에 쉽고 안전하게 추가하는 유틸리티입니다. 이를 통해 비밀번호 없이 SSH 연결을 설정할 수 있으며, 수동으로 키를 복사하는 과정에서 발생할 수 있는 오류를 줄여줍니다.

개요

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 파일에 중복된 키가 쌓이지 않습니다. 이는 스크립트에서 사용하기에 매우 편리한 특징입니다.


동일 카테고리 명령어