0Pricing
Linux Server Deployment & SSH Mastery · 강의

SSH 키 기반 인증

SSH 키 쌍을 생성하고 공개 키를 서버에 배포하며 보안을 강화하도록 비밀번호 인증을 비활성화합니다.

SSH 키 기반 인증은(는) CoddyKit의 무료 Linux Server Deployment & SSH Mastery 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Linux Server Deployment & SSH Mastery 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

키 쌍으로 SSH 잠금 해제

환영합니다! 이 단원에서는 SSH 키 기반 인증에 대해 배웁니다. 이 방식은 기존의 비밀번호를 사용하여 서버에 로그인하는 것보다 훨씬 안전하고 편리합니다.

SSH 키는 디지털 악수와 같은 역할을 하여 매번 비밀번호를 입력하지 않고도 사용자의 신원을 증명합니다.

공개 키와 개인 키의 마법

SSH 키 인증은 한 쌍의 암호화 키를 사용합니다.

  • 개인 키: 이 키는 로컬 컴퓨터에 보관하며 비밀로 유지해야 합니다. 디지털 자물쇠를 여는 고유한 열쇠라고 생각하면 됩니다.
  • 공개 키: 이 키는 접근하려는 서버에 저장합니다. 개인 키로만 열 수 있는 특수한 자물쇠와 같습니다.

연결을 시도하면 서버가 클라이언트에 확인을 요청하고, 클라이언트는 개인 키를 사용하여 자신의 신원을 증명합니다.

SSH 키 생성

로컬 컴퓨터에서 ssh-keygen 명령을 사용하여 직접 SSH 키 쌍을 생성할 수 있습니다. 기본적으로 RSA 키 쌍이 생성됩니다.

메시지가 표시되면 개인 키를 보호할 암호 문구를 선택할 수 있습니다. 이렇게 하면 키를 사용하기 전에 암호 문구를 입력해야 하므로 보안이 한층 강화됩니다.

ssh-keygen

키 생성 사용자 지정

보안을 강화하려면 ED25519와 같은 최신 키 유형을 사용하는 것이 좋습니다. 키에 사용할 파일 이름을 직접 지정할 수도 있습니다.

  • -t ed25519: ED25519 알고리즘을 지정합니다.
  • -f ~/.ssh/my_server_key: my_server_key 및 my_server_key.pub라는 이름의 파일을 생성합니다.

개인 키에는 항상 강력한 암호 문구를 사용하세요!

ssh-keygen -t ed25519 -f ~/.ssh/my_server_key

키 파일 이해하기

키를 생성하면 일반적으로 로컬 컴퓨터의 ~/.ssh/ 디렉터리에 저장됩니다. 다음 두 파일을 볼 수 있습니다.

  • id_ed25519(또는 id_rsa): 개인 키입니다. 철저히 보호하고 절대 공유하지 마세요.
  • id_ed25519.pub(또는 id_rsa.pub): 공개 키입니다. 이 파일을 서버에 복사합니다.

이 파일들의 권한도 보안을 위해 매우 중요합니다!

공개 키를 쉽게 배포하기

공개 키를 서버에 복사하는 가장 쉬운 방법은 ssh-copy-id 명령을 사용하는 것입니다. 이 명령은 공개 키를 서버의 ~/.ssh/authorized_keys 파일에 안전하게 복사합니다.

새 서버에서 이 명령을 처음 실행할 때는 비밀번호를 입력해야 합니다. 그 이후에는 비밀번호 로그인이 더 이상 필요하지 않은 경우가 많습니다.

ssh-copy-id user@your_server_ip

공개 키 수동 배포

ssh-copy-id를 사용할 수 없거나 수동 방식을 선호한다면 공개 키를 직접 서버에 복사할 수 있습니다.

먼저 서버에 ~/.ssh 디렉터리가 존재하고 올바른 권한(700)으로 설정되어 있는지 확인하세요. 그런 다음 공개 키를 서버의 ~/.ssh/authorized_keys 파일에 추가합니다(권한은 600이어야 합니다).

cat ~/.ssh/id_ed25519.pub | ssh user@your_server_ip \
"mkdir -p ~/.ssh && chmod 700 ~/.ssh && \
cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

새 키로 연결하기

공개 키를 서버에 저장했다면 SSH를 사용하여 연결할 수 있습니다. 기본 키 이름(예: id_rsa 또는 id_ed25519)을 사용했다면 SSH가 자동으로 해당 키를 찾습니다.

사용자 지정 키 이름(예: my_server_key)을 사용했다면 -i 옵션으로 키를 지정해야 합니다.

ssh -i ~/.ssh/my_server_key user@your_server_ip

보안을 위한 비밀번호 로그인 비활성화

보안을 강화하려면 키 기반 로그인이 작동하는 것을 확인한 후 서버에서 비밀번호 인증을 비활성화하는 것이 좋습니다.

서버에서 SSH 데몬 구성 파일(/etc/ssh/sshd_config)을 편집하고 PasswordAuthentication yes를 no로 변경한 다음 SSH 서비스를 다시 시작하세요(예: sudo systemctl restart sshd 또는 sudo service ssh restart).

# On the server, edit /etc/ssh/sshd_config
PasswordAuthentication no
# Then restart SSH service
sudo systemctl restart sshd

키 인증 확인

SSH 키 기반 인증의 작동 방식과 키 생성 및 배포 방법을 배웠습니다. 이제 배운 내용을 확인해 보겠습니다!

복습: 키로 SSH 보안 강화

잘하셨습니다! SSH 키 기반 인증을 완전히 익혔습니다. 다음 내용을 배웠습니다.

  • 공개 키와 개인 키의 차이
  • ssh-keygen을 사용하여 키 쌍을 생성하는 방법
  • ssh-copy-id 또는 수동 방식으로 공개 키를 서버에 배포하는 방법
  • 비밀번호 없이 안전하게 연결하는 방법
  • 서버에서 비밀번호 인증을 비활성화하는 이유와 방법

SSH 키는 안전하고 효율적인 서버 관리에 꼭 필요한 도구입니다. 계속 연습해 보세요!

자주 묻는 질문

“SSH 키 기반 인증” 강의는 무료인가요?

네 — “SSH 키 기반 인증” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Linux Server Deployment & SSH Mastery 강의 전체를 잠금 해제할 수 있습니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

“SSH 키 기반 인증”에서 뭘 배우나요?

SSH 키 쌍을 생성하고 공개 키를 서버에 배포하며 보안을 강화하도록 비밀번호 인증을 비활성화합니다. 브라우저에서 직접 실행하는 실습 코드로 Linux Server Deployment & SSH Mastery을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Linux Server Deployment & SSH Mastery을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Linux Server Deployment & SSH Mastery은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“SSH 키 기반 인증” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Linux Server Deployment & SSH Mastery 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Linux Server Deployment & SSH Mastery 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. SSH 프로토콜 이해하기
  2. SSH 클라이언트 구성
  3. SSH 키 기반 인증
  4. SSH 서버 보안 강화
← Linux Server Deployment & SSH Mastery(으)로 돌아가기