이번 실습에서는 리눅스 서버에 안전하게 접속할 수 있는 SSH 서버 환경을 구축하고, Windows 환경에서 GUI 기반으로 접근 가능한 툴인 MobaXterm까지 활용해 보았다. 원격 서버 접근, 설정 파일 편집, 서비스 시작과 보안 설정 등 SSH 환경에 대해 실습하였다.
1. SSH란?
SSH(Secure SHell)는 네트워크 상의 다른 컴퓨터에 원격으로 안전하게 로그인하거나 명령을 실행하고, 파일을 복사할 수 있는 보안 프로토콜이다. 기존의 telnet, rlogin 등을 대체하며 다음과 같은 특징을 갖는다.
- 암호화된 연결 제공 (보안 강화)
- 인증 기반 접속
- 명령 실행 / 파일 전송 / 터널링 기능 제공
2. SSH 서버 설치
apt update
apt install openssh-server
설치가 완료되면 SSH 데몬을 시작하고, 설정 파일을 수정하여 보안 및 기능을 조정한다.
3. SSH 설정 파일 경로
SSH 설정은 아래의 경로에서 관리된다:
/etc/ssh/sshd_config
필요한 설정 항목들은 다음과 같다 :
- PermitRootLogin : root 계정 접속 허용 여부
- PermitEmptyPasswords : 비밀번호 없는 계정 접속 허용 여부
- usePAM : PAM 인증 모듈 사용 여부
4. SSH 접속 방법
- Windows : 기본적으로 OpenSSH-Client가 설치되어 있어 cmd나 Powershell에서 접속 가능
ssh username@IP주소
- Linux/Unix:
ssh username@IP주소
설치되지 않은 경우 다음 명령어로 클라이언트 설치 :
apt install openssh-client
5. MobaXterm 소개 및 사용법
MobaXterm이란?
MobaXterm은 Windows에서 사용 가능한 강력한 툴로, 다음과 같은 기능을 제공한다:
기능 | 설명 |
SSH/SFTP 지원 | SSH 접속과 동시에 GUI 기반 파일 전송 가능 |
X11 서버 내장 | 리눅스 GUI 프로그램 실행 가능 |
통합 터미널 | 여러 세션을 탭 형태로 관리 |
파일 탐색기 내장 | 드래그 & 드롭 방식의 파일 전송 지원 |
다양한 리눅스 명령어 | vim, bash, ls 등 사용가능 |
다운로드 링크:
https://mobaxterm.mobatek.net/download.html
MobaXterm free Xserver and tabbed SSH client for Windows
The ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!
mobaxterm.mobatek.net
사용 예시:
- 리눅스 서버에 SSH로 접속
- X11 포워딩으로 GUI 앱 실행
- 파일 전송 (드래그 앤 드롭 지원)
6. SSH 자동 설정 스크립트
#!/bin/bash
apt update
apt install openssh-server
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
# 설정 변경
sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/" /etc/ssh/sshd_config
sed -i "s/#PermitEmptyPasswords no/PermitEmptyPasswords yes/" /etc/ssh/sshd_config
sed -i "s/^UsePAM yes/UsePAM no/" /etc/ssh/sshd_config
ufw allow ssh
service ssh start
systemctl restart ssh
echo "ssh server installed and configured also started perfect!"
주요 기능 설명
- 기본 설정 백업
- root 접속 및 빈 비밀번호 허용 설정
- UFW 방화벽에서 ssh 포트 허용
- SSH 서비스 자동 시작
7. 마무리
이번 실습에서는 리눅스 SSH 서버를 구축하고, 설정파일을 통해 보안과 접근 정책을 설정하였다.
또한 Windows 환경에서는 MobaXterm이라는 툴을 활용해 원격 서버 관리와 파일 전송을 편리하게 수행할 수 있었다.
SSH는 단순 원격 접속을 넘어, 파일 전송, 포트 포워딩, 터널링 등 다양한 보안 업무의 기반이 되는 프로토콜이라는 것을 다시 한번 실감할 수 있었다.
이 블로그는 불법 해킹 및 악의적인 활동을 지양하며, 그런 행위는 절대 권장하지 않습니다.
모든 실습은 허가된 환경에서만 진행해야 하며, 법적 책임은 사용자 본인에게 있습니다.
'리눅스 서버 구축' 카테고리의 다른 글
리눅스 Application 네트워크 서버 - Tomcat 설치 및 자동 실행 설정 (4) | 2025.05.27 |
---|---|
리눅스 Application 네트워크 서버 - DHCP 서버 구축 및 설정 실습 (0) | 2025.05.25 |
리눅스 핵심 네트워크 서버 - NFS(Network File System) 서버 구축 및 마운트 실습 (2) | 2025.05.25 |
리눅스 Application 네트워크 서버 - Samba 설정 및 사용자 공유 실습 (0) | 2025.05.25 |
리눅스 시스템 관리 실습 - 사용자, 패키지, 서비스, 방화벽 관리 (4) | 2025.05.24 |