핵심 요약
- SSH 키는 비밀번호 없이 원격 서버에 안전하게 접속하는 방법입니다. 이는 공개 키와 개인 키로 구성됩니다.
- Linux 환경에서 `ssh-keygen` 명령을 사용하여 SSH 키 쌍을 만들고, 보안 강화를 위해 암호를 추가하는 것을 고려해 보세요.
- `ssh-copy-id` 명령을 사용하거나, 공개 키 내용을 원격 서버의 `authorized_keys` 파일에 직접 복사하여 SSH 공개 키를 전송할 수 있습니다.
SSH 키를 활용하면 비밀번호 없이 원격 서버에 접근할 수 있으며, 동시에 계정 보안을 유지할 수 있습니다. Linux에서는 이러한 키를 쉽게 생성할 수 있습니다.
SSH 키란 무엇인가?
SSH 키는 암호화된 키로, 원격 시스템에 로그인할 수 있게 해줍니다. 이 키는 공개 키와 개인 키 한 쌍으로 이루어져 있습니다. 공개 키는 원격 시스템에 복사되어 사용자를 인증하는 데 사용됩니다. 개인 키는 로컬 컴퓨터에 보관해야 하며, 다른 사람과 공유해서는 안 됩니다.
개인 SSH 키를 절대로 다른 사람과 공유하지 마십시오!
로그인 과정에서 원격 서버는 SSH 프로토콜을 사용하여 공개 키와 개인 키를 비교합니다. 두 키가 일치하면 원격 시스템 접근 권한이 부여됩니다. 이 키 쌍 시스템은 보안을 유지하면서도 계정 접근을 간소화합니다.
원격 키 생성 방법
SSH 키 쌍을 생성하려면 Linux 터미널에서 `ssh-keygen` 명령어를 사용하면 됩니다. 파일 저장 위치를 지정하라는 메시지가 나타나며, 원하는 경우 암호를 설정할 수 있습니다. 암호를 설정하면 키에 추가적인 보안 계층이 추가됩니다.
암호를 사용하는 경우, 암호를 잊지 않도록 주의해야 합니다. 암호를 잊어버리면 해당 키를 사용하여 로그인할 수 없게 됩니다.
비밀번호 없이 로그인하려면 암호 구절을 비워두고 진행하면 됩니다.
기본적으로 `ssh-keygen`은 Ed25519 알고리즘을 사용합니다. 이 알고리즘은 매우 안전하며 대부분의 경우 충분합니다. `-t` 플래그를 사용하여 원하는 알고리즘 유형을 지정할 수 있지만, 서버가 사용하는 알고리즘을 지원하지 않는 특별한 경우가 아니라면 일반적으로 이 설정을 변경할 필요는 없습니다. 자세한 내용은 ssh-keygen 매뉴얼 페이지에서 다양한 키 생성 옵션을 확인할 수 있습니다.
원격 시스템에 새 SSH 키 전송
키 쌍을 생성했다면, 이제 공개 키를 원격 서버에 복사해야 합니다. 이를 위한 두 가지 방법이 있습니다.
가장 쉽고 빠른 방법은 `ssh-copy-id` 유틸리티를 사용하는 것입니다. 이 명령어는 원격 서버 계정의 사용자 이름과 주소를 사용하여 실행할 수 있습니다.
ssh-copy-id [email protected]
암호를 입력하면 개인 키가 복사됩니다.
이제 원격 서버에 로그인할 수 있습니다:
ssh [email protected]
만약 이 방법이 작동하지 않으면, 공개 키를 수동으로 복사하여 붙여넣어야 합니다. 공개 키는 홈 디렉터리의 `.ssh` 폴더에 있는 `.pub` 확장자를 가진 파일입니다. 이 파일을 열어 내용을 복사한 다음, 원격 시스템의 `.ssh/authorized_keys` 파일에 붙여넣으면 됩니다.
파일을 저장한 후에는 SSH를 사용하여 서버에 접속할 수 있습니다. `authorized_keys` 파일의 쓰기 권한이 본인에게만 있는지 확인해야 합니다. 그렇지 않으면 오류가 발생할 수 있습니다.