리눅스 서버를 만들었다면, 이제는 직접 서버에 접속해서 명령어를 입력해야 한다. 그런데 서버는 보통 모니터와 키보드를 항상 연결해두지 않는다. 특히 Oracle Cloud나 Google Cloud처럼 인터넷에 있는 서버라면, 화면이 아예 없는 경우도 많다.
이럴 때 사용하는 것이 SSH다. SSH는 인터넷이나 같은 와이파이를 통해, 다른 컴퓨터에서 서버에 접속할 수 있게 해주는 기능이다.
쉽게 말하면, 내 노트북에서 서버를 원격으로 조종하는 것이다. 서버가 집에 있든, 클라우드 안에 있든, SSH만 연결되면 어디서든 명령어를 입력하고 파일을 수정할 수 있다.
나도 처음에는 서버를 관리하려면 꼭 서버 앞에 앉아 있어야 하는 줄 알았다. 그런데 SSH를 한 번 써보니, 노트북 하나만 있어도 카페나 학교에서도 내 서버에 접속할 수 있어서 정말 편했다.

SSH는 무엇일까
SSH는 Secure Shell의 줄임말이다. 이름은 어려워 보이지만, 역할은 아주 단순하다.
“다른 컴퓨터에서 서버에 안전하게 접속하기”
예를 들어 집에 있는 Ubuntu Server에, 내 노트북으로 접속할 수 있다. 또는 Oracle Cloud에 만든 서버에도 접속할 수 있다.
SSH를 사용하면 아래와 같은 일을 할 수 있다.
- 파일 만들기
- 프로그램 설치하기
- 서버 업데이트하기
- 웹사이트 수정하기
즉, 서버를 실제로 관리하려면 SSH는 거의 반드시 필요하다.
1. 먼저 서버 IP 주소를 확인하기
SSH로 접속하려면 먼저 서버의 IP 주소를 알아야 한다.
Ubuntu Server 안에서 아래 명령어를 입력한다.
ip a
그러면 여러 숫자가 보이는데, 보통 아래처럼 생긴 주소가 서버 IP다.
192.168.0.10
만약 Oracle Cloud나 Google Cloud를 사용한다면, 사이트 안에서 “Public IP”라는 이름으로 볼 수 있다.
나도 처음에는 어떤 숫자가 진짜 IP인지 몰라서 꽤 헷갈렸다. 그런데 보통 192.168으로 시작하거나, 클라우드에서는 Public IP라고 적혀 있는 것이 서버 주소였다.
2. SSH 프로그램 준비하기
Windows, Mac, Linux 모두 SSH를 사용할 수 있다.
Windows 10이나 11이라면, 그냥 명령 프롬프트(cmd)나 PowerShell을 열면 된다.
Mac과 Linux는 터미널을 열면 된다.
예전에는 Windows에서 PuTTY 같은 프로그램을 따로 설치해야 했지만, 요즘은 대부분 기본 SSH 기능이 들어 있다.
3. SSH 명령어 입력하기
기본 SSH 접속 방법은 아래와 같다.
ssh 사용자이름@서버IP
예를 들어 사용자 이름이 ubuntu이고, 서버 IP가 192.168.0.10이라면 아래처럼 입력한다.
ssh ubuntu@192.168.0.10
그러면 비밀번호를 입력하라는 화면이 나온다. 서버 비밀번호를 입력하면 접속된다.
처음에는 아무 글자도 안 써지는 것처럼 보여서 당황할 수 있다. 하지만 리눅스에서는 비밀번호를 입력해도 화면에 표시되지 않는 것이 정상이다. 그냥 입력하고 Enter를 누르면 된다.
4. 처음 접속할 때 나오는 메시지
처음 SSH로 접속하면 아래와 비슷한 문장이 나올 수 있다.
Are you sure you want to continue connecting (yes/no)?
이때는 아래처럼 입력하면 된다.
yes
그러면 그 서버를 믿을 것인지 확인한 뒤, 다음부터는 바로 접속된다.
나도 처음에는 이 문장이 무슨 뜻인지 몰라서 멈췄다. 그런데 그냥 “이 서버에 처음 접속하는데 괜찮나요?”라는 의미였다.
5. 접속이 성공하면 어떻게 보일까
SSH 접속이 성공하면, 아래처럼 서버 이름이 보인다.
ubuntu@server:~$
이제부터는 서버 안에 들어온 상태다. 여기서 ls, nano, sudo apt update 같은 명령어를 입력할 수 있다.
예를 들어 아래처럼 입력하면 된다.
ls
또는:
sudo apt update
그러면 서버 안에서 실제로 명령어가 실행된다.
6. 접속이 안 될 때 확인할 것
가끔 SSH 명령어를 입력했는데 접속이 안 되는 경우가 있다. 이럴 때는 아래를 확인해보면 된다.
1. 서버 IP 주소가 맞는지 확인하기
ip a
2. 사용자 이름이 맞는지 확인하기
Ubuntu Server는 보통 ubuntu 또는 직접 만든 사용자 이름을 사용한다.
3. 서버에서 SSH 기능이 켜져 있는지 확인하기
sudo systemctl status ssh
만약 꺼져 있다면 아래처럼 실행한다.
sudo systemctl start ssh
4. 방화벽에서 22번 포트를 열었는지 확인하기
sudo ufw allow 22
또는:
sudo ufw allow OpenSSH
특히 클라우드 서버는 Ubuntu 방화벽뿐 아니라, Oracle Cloud나 Google Cloud 사이트 안에서도 22번 포트를 열어야 하는 경우가 많다.
나도 처음 Oracle Cloud에서 SSH가 안 돼서 한참 헤맸는데, 알고 보니 클라우드 보안 설정에서 22번 포트가 막혀 있었다.
비밀번호 대신 SSH 키를 쓰는 경우도 있다
일부 서버는 비밀번호 대신 SSH 키라는 것을 사용한다. 특히 Oracle Cloud는 서버를 만들 때 자동으로 SSH 키 파일을 다운로드하게 한다.
이 경우에는 아래처럼 입력한다.
ssh -i key.pem ubuntu@서버IP
예를 들어:
ssh -i mykey.pem ubuntu@158.180.10.25
처음에는 pem 파일이 너무 어렵게 느껴질 수 있다. 하지만 쉽게 말하면 “비밀번호 대신 사용하는 특별한 열쇠 파일”이라고 생각하면 된다.
SSH를 한 번 익히면 서버 관리가 훨씬 쉬워진다
처음에는 SSH 명령어가 낯설고, IP 주소나 사용자 이름도 헷갈릴 수 있다. 하지만 실제로는 아래 한 줄만 기억하면 된다.
ssh 사용자이름@서버IP
이 한 줄만 입력하면, 내 노트북에서 서버를 바로 관리할 수 있다.
그리고 SSH를 사용할 수 있게 되면, 굳이 서버 앞에 앉아 있지 않아도 된다. 집, 학교, 카페 어디서든 내 서버에 접속해서 파일을 수정하고, 웹사이트를 바꾸고, 프로그램을 설치할 수 있다.
그래서 리눅스 서버를 처음 배운다면, SSH는 가장 먼저 익혀야 하는 기능 중 하나다.