SSH 접속 방법 완벽 가이드 | 초보자도 쉽게 따라하는 방법

ssh 접속 방법 가이드

저도 처음 VPS 서버를 개설하고 SSH 접속을 시도했을 때 검은 터미널 화면이 뜨는 게 너무 낯설어서 겁먹었던 기억이 있어요. 하지만 딱 두 가지 — 접속 명령어와 기본 터미널 조작법만 알면 누구든 바로 사용할 수 있습니다. 이 글에서는 SSH가 처음인 분들도 따라할 수 있도록 접속 방법부터 보안 설정까지 단계별로 정리해 드릴게요.


1. SSH란 무엇인가? 왜 필요한가

SSH(Secure Shell) 는 네트워크를 통해 원격 서버에 안전하게 접속해 명령어를 실행할 수 있게 해주는 프로토콜입니다. 쉽게 말해 집에서 서버 컴퓨터 앞에 직접 앉아 키보드를 치는 것처럼, 인터넷을 통해 원격으로 서버를 조작할 수 있게 해주는 도구입니다.

SSH가 필요한 상황:

  • VPS, 클라우드 서버(AWS, GCP 등) 관리
  • 워드프레스 서버 파일 직접 편집
  • 웹 서버(Nginx, Apache) 설정 변경
  • 데이터베이스 관리
  • 자동화 스크립트 실행

SSH는 모든 데이터를 암호화해서 전송하므로, 과거에 사용하던 Telnet보다 훨씬 안전합니다.


2. SSH 접속에 필요한 정보 확인

SSH 접속에는 아래 4가지 정보가 필요합니다.

항목설명예시
호스트(Host)서버 IP 또는 도메인123.456.789.0
포트(Port)SSH 기본 포트22 (변경된 경우 다를 수 있음)
사용자명(Username)서버 계정 이름root 또는 ubuntu
인증 방법비밀번호 또는 SSH 키 파일비밀번호 또는 .pem 파일

접속 정보는 호스팅사 또는 클라우드 서비스 가입 시 발급된 이메일이나 관리 콘솔에서 확인할 수 있습니다.


3. 윈도우에서 SSH 접속 방법

방법 1 — Windows PowerShell 또는 CMD 사용 (윈도우 10/11)

윈도우 10 버전 1809 이상부터는 별도 프로그램 설치 없이 PowerShell 또는 CMD에서 SSH를 바로 사용할 수 있습니다.

  1. PowerShell 또는 CMD 실행
  2. 아래 명령어 입력

bash

ssh 사용자명@서버IP주소
# 예시
ssh root@123.456.789.0

# 포트가 22가 아닌 경우
ssh -p 포트번호 사용자명@서버IP주소

# SSH 키 파일(.pem)로 접속하는 경우
ssh -i "키파일경로.pem" 사용자명@서버IP주소
  1. 처음 접속 시 “Are you sure you want to continue connecting?” 메시지 → yes 입력
  2. 비밀번호 입력 (입력 시 화면에 표시되지 않는 것이 정상)
  3. 프롬프트가 root@서버명:~# 형태로 바뀌면 접속 성공

방법 2 — PuTTY 사용 (GUI 방식, 직관적)

  1. putty.org 에서 PuTTY 다운로드 및 설치
  2. PuTTY 실행
  3. Host Name 칸에 서버 IP 입력
  4. Port: 22 입력
  5. Connection type: SSH 선택
  6. 자주 사용하는 서버라면 Saved Sessions 에 이름 입력 후 Save
  7. Open 클릭
  8. 로그인 창에 사용자명, 비밀번호 입력

4. Mac/Linux에서 SSH 접속 방법

Mac과 Linux는 터미널에서 바로 SSH 명령어를 사용할 수 있습니다.

  1. 터미널 실행 (Mac: Spotlight에서 Terminal 검색)
  2. 아래 명령어 입력

bash

# 기본 접속
ssh 사용자명@서버IP

# 특정 포트로 접속
ssh -p 2222 사용자명@서버IP

# PEM 키 파일로 접속 (AWS EC2 등)
ssh -i ~/.ssh/mykey.pem ubuntu@서버IP

# 처음 접속 시 키 파일 권한 설정 필요
chmod 400 ~/.ssh/mykey.pem

5. SSH 키(Key) 인증 설정 방법

비밀번호 대신 SSH 키를 사용하면 보안이 훨씬 강화됩니다. 비밀번호 없이도 접속 가능하고, 무차별 대입 공격(Brute Force)을 원천 차단할 수 있습니다.

SSH 키 쌍 생성:

bash

# 내 PC(로컬)에서 실행
ssh-keygen -t rsa -b 4096 -C "이메일주소"

# 저장 위치: 기본값 사용 (엔터)
# 패스프레이즈: 입력 권장 (추가 보안)

생성 결과:

  • id_rsa — 개인 키 (절대 외부 유출 금지)
  • id_rsa.pub — 공개 키 (서버에 등록할 키)

공개 키를 서버에 등록:

bash

# 한 줄 명령어로 자동 등록
ssh-copy-id 사용자명@서버IP

# 수동으로 등록하는 경우
cat ~/.ssh/id_rsa.pub | ssh 사용자명@서버IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

이후부터는 비밀번호 없이 SSH 키로 자동 접속됩니다.


6. SSH 접속 후 기본 명령어 모음

명령어기능
ls -la현재 디렉토리 파일 목록 (숨김 파일 포함)
cd /var/www/html해당 디렉토리로 이동
pwd현재 위치 경로 확인
cat 파일명파일 내용 출력
nano 파일명파일 편집 (초보자 친화적)
vi 파일명파일 편집 (고급)
mkdir 폴더명폴더 생성
rm -rf 폴더명폴더 및 내용 삭제 (주의!)
cp 원본 대상파일 복사
mv 원본 대상파일 이동 또는 이름 변경
chmod 755 파일명파일 권한 변경
chown user:group 파일명파일 소유자 변경
sudo 명령어관리자 권한으로 명령 실행
exitSSH 접속 종료

7. SSH 보안 강화 설정

SSH는 서버의 핵심 접근 경로이므로 보안 설정이 매우 중요합니다.

SSH 설정 파일 수정 (/etc/ssh/sshd_config):

bash

sudo nano /etc/ssh/sshd_config

권장 보안 설정:

# 기본 포트 22에서 변경 (예: 2222)
Port 2222

# root 직접 로그인 차단
PermitRootLogin no

# 비밀번호 인증 비활성화 (SSH 키만 허용)
PasswordAuthentication no

# 최대 로그인 시도 횟수 제한
MaxAuthTries 3

# 로그인 타임아웃 설정
LoginGraceTime 30

설정 변경 후 SSH 서비스 재시작:

bash

sudo systemctl restart sshd

8. SSH 접속 오류 해결 방법

오류 메시지원인해결 방법
Connection refusedSSH 서비스 중지 또는 포트 차단서버에서 SSH 서비스 실행 여부 확인
Connection timed out방화벽이 포트 22 차단호스팅사 방화벽에서 22번 포트 허용
Permission denied (publickey)SSH 키 파일 오류 또는 권한 문제chmod 400 키파일.pem 권한 설정
Host key verification failed서버 IP가 바뀌었거나 키가 변경됨known_hosts 파일에서 해당 항목 삭제
Too many authentication failures키 파일이 너무 많이 시도됨ssh -i 특정키파일 -o IdentitiesOnly=yes 사용
WARNING: UNPROTECTED PRIVATE KEY키 파일 권한이 너무 넓음chmod 400 키파일명 실행

9. 자주 묻는 질문(FAQ)

Q. SSH 포트를 22에서 변경하면 보안이 좋아지나요? 네, 효과가 있습니다. 대부분의 자동화된 해킹 시도는 22번 포트를 대상으로 하기 때문에, 포트를 변경하면 이런 무차별 공격을 크게 줄일 수 있습니다. 1024~65535 사이의 번호로 변경을 권장합니다.

Q. SSH 키를 분실했을 때는 어떻게 하나요? 개인 키를 분실했다면 해당 키 쌍을 서버의 authorized_keys에서 삭제하고 새 키 쌍을 생성해 다시 등록해야 합니다. 키 접속만 허용하고 비밀번호 접속을 비활성화했다면, 호스팅 콘솔에서 서버에 직접 접근해야 합니다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다