보안 셸(SSH) 기초
키 기반 인증과 기본 SSH 클라이언트 설정을 포함해 원격 Linux 컴퓨터에 안전하게 연결하는 방법을 배웁니다.
보안 셸(SSH) 기초은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.
보안 셸(SSH)이란 무엇인가요?
보안 셸(SSH) 기초 과정에 오신 것을 환영합니다! SSH는 보안이 확보되지 않은 네트워크를 통해 원격 컴퓨터에 안전하게 연결할 수 있게 해 주는 강력한 네트워크 프로토콜입니다.
명령어와 데이터를 위한 보안 터널이라고 생각하시면 됩니다. Linux 서버와 클라우드 인스턴스를 관리하거나, 자신의 개발 환경에 원격으로 접속할 때도 필수적입니다.
SSH를 사용하는 이유: 보안이 우선입니다!
SSH가 등장하기 전에는 원격 연결이 암호화되지 않은 경우가 많았기 때문에 누구나 비밀번호와 데이터를 엿볼 수 있었습니다. SSH는 강력한 암호화로 이 문제를 해결합니다.
- 기밀성: 데이터가 암호화되어 다른 사람이 볼 수 없습니다.
- 무결성: 전송 중 데이터가 변조되지 않았는지 확인합니다.
- 인증: 클라이언트와 서버 양쪽의 신원을 확인합니다.
SSH는 원격 관리의 업계 표준입니다.
SSH: 클라이언트-서버 모델
SSH는 클라이언트-서버 모델로 작동합니다. 사용자인 여러분은 로컬 컴퓨터에서 SSH 클라이언트를 실행합니다. 이 클라이언트는 원격 컴퓨터에서 실행 중인 SSH 서버(흔히 `sshd`라고 부름)에 연결합니다.
연결을 시작하면 클라이언트와 서버는 데이터가 교환되기 전에 '핸드셰이크'를 수행하여 안전하게 암호화된 채널을 설정합니다.
기본 SSH 연결 명령어
SSH를 통해 원격 서버에 연결하는 가장 기본적인 방법은 사용자 이름과 호스트(IP 주소 또는 호스트 이름)를 입력한 뒤 ssh 명령어를 사용하는 것입니다.
형식은 ssh username@hostname_or_IP입니다. 예를 들어 coddy 사용자로 192.168.1.100 서버에 연결하려면 다음과 같이 입력합니다.
ssh coddy@192.168.1.100첫 연결 및 지문
새 서버에 처음 연결할 때 SSH는 서버의 '지문'을 확인하도록 요청합니다. 이는 '중간자' 공격을 방지하는 데 도움이 되는 고유 식별자입니다.
가능하다면 항상 지문을 확인하세요(예: 서버 관리자에게 문의). 지문이 일치하면 yes를 입력하여 서버를 ~/.ssh/known_hosts 파일에 추가합니다.
SSH 포트 및 사용자 지정 포트
기본적으로 SSH는 TCP 포트 22를 사용합니다. 하지만 보안을 위해 서버 관리자가 SSH가 표준이 아닌 다른 포트에서 수신 대기하도록 설정하는 경우가 많습니다.
원격 서버가 사용자 지정 포트(예: 포트 2222)를 사용하는 경우 -p 옵션으로 지정할 수 있습니다.
ssh -p 2222 coddy@myremoteserver.com키 기반 인증 소개
비밀번호 인증도 작동하지만 SSH 키 기반 인증이 훨씬 더 안전하고 편리합니다. 키 기반 인증은 암호화 키 한 쌍을 사용합니다.
- 공개 키: 원격 서버에 저장됩니다.
- 개인 키: 로컬 컴퓨터에 안전하게 저장됩니다.
연결할 때 서버가 클라이언트에 인증을 요구하면, 클라이언트는 네트워크를 통해 개인 키를 전송하지 않고 개인 키를 사용해 자신의 신원을 증명합니다.
SSH 키 쌍 생성
ssh-keygen 명령어를 사용하여 SSH 키 쌍을 생성할 수 있습니다. 키를 저장할 위치(기본값은 ~/.ssh/id_rsa)와 선택 사항인 암호 문구를 입력하라는 메시지가 표시됩니다.
암호 문구를 사용하면 개인 키에 보안 계층을 추가할 수 있습니다. 사용을 적극 권장합니다!
ssh-keygen -t rsa -b 4096공개 키 복사
키 쌍을 만들었다면 공개 키를 원격 서버에 복사해야 합니다. 가장 쉬운 방법은 ssh-copy-id를 사용하는 것입니다. 이 명령어는 처음에는 비밀번호로 원격 서버에 로그인한 다음, 공개 키를 ~/.ssh/authorized_keys 파일에 추가합니다.
이제 비밀번호 대신 키를 사용하여 연결할 수 있습니다!
ssh-copy-id coddy@myremoteserver.com빠른 확인: SSH 기초
다음 SSH 관련 설명 중 옳은 것은 무엇인가요?
복습: SSH 기초
이번 과정에서 보안 셸(SSH)의 기초를 배웠습니다!
- SSH는 안전하게 암호화된 원격 접속을 제공합니다.
- 클라이언트-서버 모델로 작동하며 일반적으로 포트 22를 사용합니다.
ssh user@host를 사용하여 연결할 수 있습니다.ssh-keygen으로 생성하고ssh-copy-id로 복사하는 공개 키 및 개인 키 쌍을 이용한 키 기반 인증은 비밀번호보다 뛰어난 보안을 제공합니다.
다음에는 더욱 강력한 네트워크 명령어와 파일 전송 도구를 살펴보겠습니다!
자주 묻는 질문
“보안 셸(SSH) 기초” 강의는 무료인가요?
네 — “보안 셸(SSH) 기초” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.
“보안 셸(SSH) 기초”에서 뭘 배우나요?
키 기반 인증과 기본 SSH 클라이언트 설정을 포함해 원격 Linux 컴퓨터에 안전하게 연결하는 방법을 배웁니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“보안 셸(SSH) 기초” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.