SSH 키
SSH 키를 사용하면 암호 없이 서버에 로그인할 수 있습니다. 키 쌍은 컴퓨터에 남아 있는 개인 키와 서버의 ~/.ssh/authorized_keys 파일에 복사되는 공개 키로 구성됩니다. 키는 OpenSSH의 일부인 ssh-keygen으로 생성됩니다.
1키 유형
Ed25519 키는 짧고 빠르며 모든 최신 OpenSSH 버전에서 지원됩니다. ssh-keygen -t ed25519 명령어로 생성할 수 있습니다. RSA 키는 구형 시스템을 위해 계속 지원되며 최소 3072비트여야 합니다.
2암호(Passphrase) 및 에이전트
암호는 디스크에 있는 개인 키를 암호화하므로 파일을 도난당하더라도 그것만으로는 사용할 수 없습니다. ssh-agent는 잠금 해제된 키를 메모리에 유지하므로 세션당 암호를 한 번만 입력하면 됩니다.
3권한
OpenSSH는 파일 권한이 너무 개방된 키를 거부합니다. 개인 키는 소유자만 읽을 수 있어야 하며(600), 서버의 ~/.ssh 및 authorized_keys는 다른 사용자가 쓰기 권한을 가질 수 없어야 합니다.
키 로그인을 설정하는 방법
- 컴퓨터에서 키 생성:
ssh-keygen -t ed25519 - 기본 파일을 수락하고 암호를 입력합니다.
- 서버에 공개 키 복사:
ssh-copy-id user@server - 로그인 테스트:
ssh user@server - 키가 정상적으로 작동한 후에만 서버에서 비밀번호 로그인을 비활성화하는 것을 고려하세요.
주의 사항
- 개인 키(.pub 확장자가 없는 파일)는 절대로 공유하거나 업로드하지 마세요.
- 비밀번호 인증을 끄기 전에 두 번째 세션에서 키 로그인을 테스트하세요. 그렇지 않으면 접속이 차단될 수 있습니다.
관련 문서
- 파일 권한: chmod와 chownLinux의 읽기, 쓰기 및 실행 권한 작동 방식, 755 및 644의 의미, 소유자와 모드를 안전하게 변경하는 방법입니다.
- UFW (Uncomplicated Firewall)Ubuntu에서 UFW가 Linux 방화벽을 관리하는 방식, 활성화하기 전에 SSH를 허용하는 방법, 규칙을 나열하고 삭제하는 방법을 설명합니다.
- rsyncrsync가 파일을 복사하고 동기화하는 방식, 후행 슬래시가 가져오는 변화, 그리고 --delete 사용 전에 --dry-run으로 테스트하는 방법을 설명합니다.
출처
- ssh-keygen(1) 설명서 페이지 (OpenBSD) man.openbsd.org
- sshd(8) 설명서 페이지, AUTHORIZED_KEYS 파일 형식 (OpenBSD) man.openbsd.org
최종 검토: