본문 바로가기
운영체제/Linux

Ubuntu ] ssh 활성화 방법

by eteo 2025. 6. 16.
반응형

 

SSH

SSH는 Secure Shell의 약자로 네트워크 상에서 다른 컴퓨터(서버)에 원격 접속(Remote Login) 하기 위해 사용되는 표준 프로토콜이다. SSH는 TCP 위에서 동작하며 기본 포트는 22번을 사용한다. 기존의 원격 접속 프로토콜인 Tenel과 달리, SSH는 모든 트래픽을 암호화하여 전송하는 방식으로 Telnet의 보안 취약점을 해결한다.

SSH 연결이 이루어지면 원격 시스템에 Shell 프로세스가 하나 생성되고, 그 Shell의 표준 입출력(stdin/stdout/stderr)이 네트워크 채널로 리다이렉션되어 로컬 터미널에서 명령을 입력하면 원격에서 실행되고 결과가 화면으로 전달되는 방식으로 동작한다.

 

 

 

원격에서 내 우분투 PC로 SSH 접속할 수 있게 하기 위해, ssh 서버를 활성화하는 방법은 다음과 같다.

 

 

 

1. ssh 서버 설치

sudo apt update
sudo apt install openssh-server

설치가 완료되면 자동으로 SSH 서비스가 시작된다.

 

설치 후 SSH 서비스가 제대로 실행 중인지 아래 명령으로 확인할 수 있다.

sudo systemctl status ssh

정상적으로 실행 중이면 "active (running)"이라고 표시된다.

 

만약 멈춰있다면 아래 명령어로 수동 시작하거나 부팅 시 자동 실행되도록 설정할 수 있다.

sudo systemctl start ssh
sudo systemctl enable ssh

 

 

 

2. 방화벽 확인

SSH는 기본적으로 22번 포트를 사용한다. 포트가 열려 있는지 아래 명령으로 확인할 수 있다.

sudo ss -tlnp | grep :22

결과가 나온다면 22번 포트가 열려 있다는 뜻이다.

 

ufw라는 방화벽을 사용하는 경우, SSH 포트를 허용해 줘야 외부에서 접속이 가능하며, 아래 명령으로 ufw 활성화 여부를 확인하고, 특정 포트를 허용할 수 있다.

# ufw 방화벽이 켜져 있는지 확인 (비활성화 상태라면 굳이 포트 허용이 필요 없다)
sudo ufw status
# ssh 기본 포트 허용
sudo ufw allow ssh
# 포트 번호를 명시해서 허용
sudo ufw allow 22

 

 

 

 

 

3. 호스트 키 생성 (없는 경우)

openssh-server 설치 시 보통 /etc/ssh/ 경로에 아래 호스트 키가 자동으로 생성된다.

/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_rsa_key.pub
/etc/ssh/ssh_host_ecdsa_key
/etc/ssh/ssh_host_ecdsa_key.pub
/etc/ssh/ssh_host_ed25519_key
/etc/ssh/ssh_host_ed25519_key.pub

 

예외적으로 호스트 키가 없는 경우 아래 명령을 통해 수동으로 키를 생성해줘야 SSH 서버가 올바르게 실행될 수 있다.

sudo ssh-keygen -A

 

반응형