VPS 개통 후 첫 1시간: 아무것도 없는 상태에서 안전하게 쓸 수 있게 세팅하는 완전 초기화 가이드 (너의 OpenClaw 더 안전하게 만들기)
새로 산 VPS는 자물쇠 없는 현관문이나 다름없어요. 전 세계의 스크립트 키디들이 끊임없이 문을 두드리고 있죠. 이 글에서는 그 문을 확실히 잠그는 방법을 알려드릴게요. 여러분의 openclaw가 함부로 밖으로 나돌아다니지 않도록 말이에요.
0. 들어가며
VPS 한 대를 새로 샀고, 신나서 IP와 root 비밀번호를 받았다면 그다음은 뭘까요?
많은 분들이 이렇게 하시더라고요: 곧바로 소프트웨어 설치하고 프로젝트 배포를 시작해버리죠.
이건 아주 위험한 습관이에요.
여러분의 VPS에는 공인 IP가 달려 있습니다. 즉, 전 세계 누구나 접속을 시도해볼 수 있다는 뜻이죠. 게다가 기본 설정 상태에서는:
- 포트는 22로 탁 트여 있고
- 사용자 이름은 누구나 아는 root이며
- 남은 건 비밀번호 하나뿐입니다
매일 수많은 자동화 스크립트가 IP 대역을 스캔하면서 흔한 비밀번호로 무차별 대입 공격을 시도합니다. 서버가 온라인에 올라가는 순간부터 이미 공격받고 있는 거예요.
그러니까 VPS를 손에 넣자마자 해야 할 첫 번째 일은 소프트웨어 설치가 아니라 보안 초기화입니다.
1. 목표
이 글의 목표는:
- ✅ 안전한 원격 접속 환경 구축: SSH 키 로그인 + 기본 포트 번호 변경
- ✅ 일반 사용자 계정 생성: root 계정 직접 사용은 피하기
- ✅ 방화벽 설정: 꼭 필요한 포트만 열어두기
- ✅ 네트워크 가속 활성화: BBR로 네트워크 속도 날려버리기
- ✅ 무차별 대입 공격(Brute Force) 방지: fail2ban으로 악성 IP 자동 차단하기
이 세팅들까지 마치고 나면, 여러분의 VPS는 탄탄한 기반을 갖추게 되어 각종 서비스를 안심하고 마음껏 배포할 수 있어요.
2. 계획 및 고민
왜 이런 세팅을 해야 할까요?
막 구매한 VPS는 입주하기 딱 좋은 상태로 넘겨받은 맨집(?)과 같아요.
| 기본 상태 | 위험 | 우리의 해결책 |
|---|---|---|
| root 계정 바로 로그인 | 권한 과다, 잘못된 조작 시 치명적 | 일반 사용자 생성 + sudo |
| 비밀번호 로그인 | 무차별 대입 공격에 뚫림 | SSH 키 로그인 |
| 기본 22번 포트 | 스캐너들의 주요 타겟 | 비표준 포트로 변경 |
| 방화벽 꺼짐 | 모든 포트가 외부에 노출 | UFW로 필요한 포트만 허용 |
| 기본 네트워크 | 패킷 손실률 높음, 지연 큼 | BBR 혼잡 제어 알고리즘 |
전체 흐름

이 순서대로 하나씩 진행해 볼게요. 각 단계마다 왜 이렇게 하는지도 쭉 설명해 드릴게요.
3. 작업 단계
3.1 최초 로그인 및 시스템 업데이트
서버 IP 확인
VPS를 구매하면, 서비스 제공업체에서 다음 정보들을 보내줄 거예요:
- IP 주소: 예를 들어
192.168.1.100 - 포트: 보통
22이에요 (업체에 따라 다른 포트로 바꾸기도 해요) - 사용자 이름: 보통
root예요 - 비밀번호: 무작위로 생성된 문자열이에요

SSH 접속하기
Mac / Linux 사용자: 터미널을 열고 바로 입력하세요:
1 | ssh root@你的服务器IP |
Windows 사용자:
- Windows 10/11에는 OpenSSH가 기본 내장되어 있어서 PowerShell이나 CMD에서 바로 위 명령어를 쓸 수 있어요
- 아니면 Termius나 MobaXterm 같은 툴을 써도 좋아요
처음 접속하면 이런 지문(fingerprint) 확인 메시지가 뜰 거예요:
1 | The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established. |
“이 서버가 처음이네. 정말 연결할까요?” 하고 물어보는 겁니다.
yes을 입력하고 엔터를 치세요. 그다음 비밀번호를 입력하고(주의: 입력할 때 화면에 아무 글자도 안 보이는데, 이건 정상적인 보안 기능이니까 당황하지 마세요) 엔터를 치시면 됩니다.

이런 식으로 프롬프트가 뜨면 로그인 성공입니다:
1 | Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.x.x-x-generic x86_64) |
💡 지문을 확인하는 이유는?
'중간자 공격(Man-in-the-Middle)'을 방지하기 위해서예요. 첫 접속 때 서버 지문을 기록해두면, 나중에 접속했을 때 지문이 바뀌어 있다면 누군가가 당신의 서버를 사칭하고 있을 가능성이 있다는 뜻이죠.

서버와 친해지기
로그인했다면, 우선 이 녀석의 기본 상태부터 파악해볼까요?
1 | # 查看系统版本 |

이 정보는 나중에 문제를 찾아낼 때 요긴하게 쓰이니 잘 기억해두세요.
시스템 업데이트
서버 정보 파악이 끝났다면, 정식으로 할 첫 번째 일은 바로 시스템 업데이트예요. 새 서버의 OS 이미지는 몇 달 전 것일 수도 있고, 그동안 보안 패치가 꽤 나왔을 수 있거든요.
1 | # 更新软件包列表 + 升级所有软件 + 清理 |
옵션 설명:
apt update: 패키지 인덱스 업데이트apt full-upgrade: 커널을 포함한 모든 소프트웨어 업그레이드-y: 자동 확인(yes)으로, 일일이 입력할 필요 없음apt autoremove: 더 이상 필요 없는 의존성 패키지 삭제apt autoclean: 다운로드한 패키지 캐시 정리

⏱️ 업데이트 양에 따라 이 단계는 몇 분 정도 걸릴 수 있어요. 중간에 가끔 확인을 요구하면, 그냥 안내에 따라 진행하면 돼요.
재부팅이 필요한지 확인
커널 업데이트 후에는 보통 재부팅을 해야 적용돼요.
1 | # 检查是否需要重启 |

재부팅이 필요하다는 메시지가 뜬다면:
1 | reboot |
재부팅 후에는 SSH 연결을 다시 맺어주면 됩니다.
자주 쓰는 도구 설치
1 | apt install -y sudo curl wget git vim htop tree unzip net-tools ufw fail2ban neofetch |
이 도구들이 대체 뭘 하는 건지 한번 볼게요:
| 도구 | 용도 | |
|---|---|---|
sudo |
일반 사용자가 관리자 명령 실행 | |
curl / wget |
파일 다운로드 | |
git |
버전 관리 | |
vim |
텍스트 에디터 | |
htop |
더 보기 좋은 프로세스 모니터 | |
tree |
디렉터리 구조를 트리 형태로 표시 | |
net-tools |
네트워크 도구 (ifconfig, netstat 등) | |
ufw |
간편한 방화벽 | |
fail2ban |
무차별 대입 공격 방지 | |
neofetch |
시스템 정보 예쁘게 표시 | |
![]() |
3.2 non-root 유저 만들기
root로 바로 쓰면 안 되나요?
root 유저는 권한이 너무 세서, 손 한 번 삐끗해서 rm -rf / 치면 날리는 게 순식간이에요. 평소엔 일반 유저로 작업하고, 관리자 권한이 필요할 때만 sudo 쓰는 게 안전합니다.
랍스터(openclaw)는 괴물인데, 감히 root 권한을 쥐여줄 수가 있나요?
유저 생성하기
1 | # 创建用户(把 ittinker 换成你想要的用户名) |
그러면 비밀번호랑 기본 정보들을 설정하라고 프롬프트가 뜹니다:
1 | New password: # 输入密码(不会显示) |

sudo 권한 부여하기
1 | # 把用户加入 sudo 组, ittinker 换成你自己上面创建的那个用户 |
잘 됐는지 확인해 볼까요?
1 | # 切换到新用户 ittinker 换成你自己上面创建的那个用户 |
출력 결과가 root 라면 sudo 설정이 끝난 겁니다.

💡 꿀팁
exit를 입력하면 다시 root 유저로 돌아갑니다. 앞으로의 설정 작업은 root 상태에서 진행하고, 다 끝난 뒤에 일반 유저로 전환할게요.
3.3 SSH 키 로그인 설정하기
키 인증 vs 비밀번호 인증

키 인증이 비밀번호보다 훨씬 안전합니다:
- 비밀번호는 무차별 대입 공격(brute-force)으로 뚫릴 수 있지만, 키는 거의 불가능해요
- 매번 비밀번호 안 쳐도 돼서 훨씬 편합니다
- 비밀번호가 유출돼도 개인 키가 없으면 로그인 자체가 안 됩니다
1단계: 로컬에서 키 페어 생성하기
내 컴퓨터(서버 말고)에서 아래 명령어를 실행해 봅시다:
1 | # 生成 ED25519 密钥(推荐,更安全更快) |
그러면 이런 메시지가 뜰 거예요:
1 | Enter file in which to save the key (/Users/你/.ssh/id_ed25519): |
그냥 엔터 치면 기본 경로로 저장됩니다. 저희는 여기서 ./ittinker를 사용했는데, 이건 현재 경로에 ittinker라는 이름으로 저장한다는 뜻이에요.
1 | Enter passphrase (empty for no passphrase): |
키에 비밀번호(패스프레이즈)를 설정해서 보안을 한 겹 더 추가할 수도 있고, 그냥 엔터 쳐서 비워둬도 됩니다.

생성이 끝나면 ~/.ssh/ 디렉토리에 두 개의 파일이 생긴 걸 확인할 수 있어요(아래는 기본 파일명이라서, 앞에서 그냥 엔터를 쳤다면 이렇게 됩니다):
id_ed25519: 개인 키입니다. 절대 외부에 유출되면 안 돼요!id_ed25519.pub: 공개 키입니다. 이건 서버로 업로드해야 해요.
💡 ed25519 vs RSA
ed25519는 현재 권장되는 알고리즘으로, 전통적인 RSA보다 더 안전하고 키 길이도 짧아요. 만약 시스템이 너무 구버전이라 지원하지 않는다면ssh-keygen -t rsa -b 4096를 사용하시면 됩니다.
한 가지 팁을 드리자면, ed25519로 생성된 키는 꽤 작은 반면 RSA 파일은 꽤 큽니다. AI한테 물어보고 나서야 알게 됐는데, 파일 크기는 상관없고 알고리즘 특성 때문에 그런 거래요.
2단계: 서버에 공개 키 업로드하기
방법 A: ssh-copy-id 사용하기(권장)
1 | # 在你的电脑上执行 |
비밀번호를 입력하면 공개 키가 서버로 자동 복사됩니다.

방법 B: 수동으로 복사하기
ssh-copy-id가 작동하지 않는다면, 수동으로 직접 설정해도 됩니다:
1 | # 1. 在你的电脑上,查看公钥内容 |
출력된 내용(ssh-ed25519로 시작하는 긴 문자열)을 복사하세요.
1 | # 2. 在服务器上,为新用户创建 .ssh 目录, ittinker 换成你刚刚创建的用户名 |
⚠️ 권한 설정이 정말 중요해요!
SSH는 파일 권한에 민감하게 반응하거든요:
.ssh디렉토리: 700 (본인만 접근 가능)authorized_keys파일: 600 (본인만 읽고 쓰기 가능)권한이 맞지 않으면, SSH가 키를 이용한 로그인을 거부해버립니다.
3단계: 키 로그인 테스트
새 터미널 창을 하나 더 띄워서 (기존 창은 혹시 몰라 닫지 말고 그냥 두세요. 설정이 꼬였을 때 피신처가 되니까요), 키 로그인이 잘 되는지 테스트해봅시다:
1 | ssh ittinker@你的服务器IP |
비밀번호 입력 없이 로그인이 되면, 키 설정이 성공한 겁니다! 🎉
(만약 개인 키에 passphrase를 설정하셨다면, 개인 키 비밀번호를 입력하라는 프롬프트가 뜰 텐데 이건 정상입니다.)

여기서 -i 옵션을 추가한 건, 이 키를 기본 경로가 아니라 현재 경로에 두었기 때문이에요. 명시적으로 지정해주지 않으면 시스템이 기본 키를 사용하려고 할 겁니다.
3.4 SSH 보안 강화
자, 이제 키 로그인이 잘 되니까 SSH를 한층 더 단단하게 묶어볼까요:
- 기본 포트 번호 바꾸기 (무차별 스캔 피하기)
- 비밀번호 로그인 막기
- root 계정으로 직접 로그인 금지하기
SSH 설정 파일 수정하기
1 | # 备份原配置 |

아래 설정들을 찾아서 수정해 줍니다. (앞에 주석 처리(#)가 되어 있다면 #를 지워주세요):
1 | # 修改端口(选一个 1024-65535 之间的数字) |

저장하고 빠져나옵니다 (ctrl + o).
Nano에서 저장은
ctrl + o예요. 파일명을 물어보면 그냥 엔터 치시면 되고, 종료는ctrl + x입니다.
SSH 서비스 재시작
1 | systemctl restart sshd.service |
⚠️ 중요한 당부!
지금 띄워진 터미널 창은 절대 닫지 마세요! 먼저 새 창을 열어서 바꾼 설정으로 정상 로그인되는지 테스트해 보세요:
1 ssh -p 22000 yourname@你的服务器IP로그인이 잘 되면 그때 예전 창을 닫으시면 됩니다. 만약 접속이 안 된다면, 아까 창에서 설정 다시 고치면 되니까 조급해하지 마세요.
만약 가벼운 서버(Light Server)를 구매하셨다면 이 포트를 변경할 수 없을 확률이 높아요. 반면 전통적인 ECS는 수정이 가능하니 참고해 주세요.
3.5 UFW 방화벽 설정하기

UFW(Uncomplicated Firewall)는 Ubuntu의 기본 방화벽 도구입니다. 설정은 식은 죽 먹기지만 기능은 아주 강력하죠.
기본 설정
1 | # 设置默认策略:拒绝所有入站,允许所有出站 |
방화벽 활성화
1 | ufw enable |
이런 메시지가 뜰 거예요:
1 | Command may disrupt existing ssh connections. Proceed with operation (y|n)? |
y를 입력해서 확인해 줍니다.
상태 확인하기
1 | ufw status verbose |

23022은 제가 오타 난 거예요. 여러분은 각자 상황에 맞게 알아서 설정하시면 됩니다!
출력 결과는 이런 식으로 나올 거예요:
1 | Status: active |
자주 쓰는 명령어 치트시트
1 | # 查看状态 |
3.6 BBR 가속 켜기
BBR(Bottleneck Bandwidth and Round-trip propagation time)은 Google에서 개발한 TCP 혼잡 제어 알고리즘인데, 네트워크 성능을 확 끌어올려 줍니다.
한 번에 켜기
1 | # 添加 BBR 配置 |
켜졌는지 확인하기
1 | # 查看当前拥塞控制算法 |
출력 결과는 이래야 합니다:
1 | net.ipv4.tcp_congestion_control = bbr |
1 | # 确认 BBR 模块已加载 |
출력 결과는 이런 식으로 나올 거예요:
1 | tcp_bbr 20480 3 |
💡 BBR 효과
BBR을 켜면, 특히 네트워크가 불안정하거나 지연이 심한 환경에서 이런 게 체감될 거예요:
- 다운로드 속도가 훨씬 빨라지고
- SSH 작업이 더 쾌적해지며
- 웹페이지 로딩도 빨라집니다

3.7 무차별 대입 방어를 위해 fail2ban 설정하기
fail2ban은 로그를 모니터링하다가 로그인 실패가 반복된 IP를 발견하면 알아서 차단해 줍니다.
기본 설정
1 | # 复制默认配置(不要直接修改 jail.conf) |
[sshd] 부분을 찾아서 아래 설정으로 맞춰주세요:
1 | [sshd] |

서비스 실행
1 | # 重启 fail2ban |
상태 확인
1 | # 查看 fail2ban 状态 |

출력 결과는 대략 이런 식입니다:
1 | Status for the jail: sshd |
자주 쓰는 명령어
1 | # 手动封禁 IP |
3.8 [선택] SSH Config로 여러 서버 관리하기
서버가 여러 대라면 매번 ssh -p 22000 user@ip 입력하기 귀찮겠죠. SSH Config를 쓰면 이걸 깔끔하게 단순화할 수 있어요.
설정 파일
내 로컬 PC에서 ~/.ssh/config 파일을 편집해 봅시다:
1 | vim ~/.ssh/config |
설정을 추가해 줍니다:
1 | # 第一台服务器 |
사용 방법
이제 바로 별칭(alias)으로 접속할 수 있어요:
1 | # 连接第一台服务器 |
IP, 포트, 사용자 이름을 일일이 외울 필요가 없어졌네요!
3.9 [선택] Cloudflare 접근만 허용하기
웹사이트가 완전히 Cloudflare 뒤에 있다면, 80/443 포트에 대해 Cloudflare IP만 접근하도록 설정해서 보안을 한층 더 끌어올릴 수 있어요.
⚠️ 주의: 이 설정을 적용하려면 도메인이 이미 Cloudflare CDN에 연결되어 있어야 합니다.
자동 설정 스크립트
1 | # 下载脚本 |
이 스크립트는 다음 작업을 수행합니다:
- Cloudflare 공식 홈페이지에서 최신 IP 대역 가져오기
- UFW 규칙을 추가해서 이 IP들만 80/443 포트 접근을 허용하기
- UFW 다시 불러오기
자동 업데이트 예약 설정하기
Cloudflare의 IP 대역은 바뀔 수 있으니까, 매주 자동으로 업데이트되게 설정해 둡시다:
1 | # 添加 cron 任务(每周一凌晨执行) |
3.10 타임존 설정
기본 타임존이 UTC로 되어 있을 텐데, 로그 확인하기 편하게 본인이 계신 곳의 타임존으로 바꿔주세요:
1 | # 查看当前时区 |

3.11 [선택] 자동 보안 업데이트 설정하기
시스템이 알아서 보안 패치를 설치하게 두면, 매번 수동으로 작업할 필요가 없어져서 편해요:
1 | # 安装自动更新工具 |
'Yes’를 선택해서 자동 업데이트를 켜주세요.
💡 이 기능은 보안 업데이트만 알아서 설치해 줍니다. 새로운 메이저 버전으로는 자동 업그레이드하지 않기 때문에 비교적 안전해요.
4. 정리
초기 설정 체크리스트
위 설정들을 다 마치셨다면, 이 체크리스트로 한 번 더 점검해 보세요:
| 확인 항목 | 명령어 | 예상 결과 |
|---|---|---|
| 시스템 업데이트 완료 | apt update && apt list --upgradable |
업그레이드할 패키지 없음 |
| 일반 사용자 sudo 권한 | sudo whoami |
root 출력 |
| 키 로그인 정상 작동 | ssh yourname@ip -p port |
비밀번호 없이 로그인됨 |
| 비밀번호 로그인 비활성화 | grep PasswordAuth /etc/ssh/sshd_config |
PasswordAuthentication no |
| SSH 포트 변경됨 | grep Port /etc/ssh/sshd_config |
설정한 포트 |
| 방화벽 활성화됨 | ufw status |
Status: active |
| BBR 활성화됨 | sysctl net.ipv4.tcp_congestion_control |
= bbr |
| fail2ban 실행 중 | systemctl status fail2ban |
active (running) |
| 시간대 설정됨 | timedatectl |
Asia/Shanghai 또는 본인 시간대 |
| 로컬 SSH Config | cat ~/.ssh/config |
서버 별칭 설정됨 |
주요 파일 위치
1 | /etc/ssh/sshd_config # SSH 服务端配置 |
보안 모범 사례
- 시스템 주기적 업데이트:
apt update && apt upgrade - 로그인 로그 정기 점검:
lastb(로그인 실패),last(로그인 성공) - fail2ban 차단 상태 수시로 확인
- 중요 설정 파일 수정 전 백업 필수
5. 트러블슈팅 기록
Q1: 키 로그인이 실패해서 계속 비밀번호를 요구하네요?
의심해 볼 수 있는 원인:
-
권한 문제 (가장 흔한 사례)
1
2
3# 检查并修复权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys -
공개키가 제대로 복사되지 않음
1
2
3# 检查 authorized_keys 内容
cat ~/.ssh/authorized_keys
# 应该是一行完整的公钥,以 ssh-ed25519 或 ssh-rsa 开头 -
SELinux 간섭 (CentOS/RHEL 시스템)
1
restorecon -Rv ~/.ssh
Q2: 포트를 바꾸고 나니 연결이 안 되나요?
문제 해결 단계:
-
방화벽에서 새 포트가 열려 있는지 확인하세요:
1
ufw status | grep 你的端口
-
SSH 설정이 제대로 되어 있는지 확인하세요:
1
grep Port /etc/ssh/sshd_config
-
SSH 서비스가 실행 중인지 확인하세요:
1
systemctl status sshd
-
아예 연결이 안 된다면, 클라우드 서비스 제공자의 VNC/콘솔로 접속해서 복구하세요.
Q2.5: 포트를 바꿨는데 아예 적용이 안 되나요? (클라우드 업체 경량 서버 기준)
증상: /etc/ssh/sshd_config를 수정하고 서비스를 재시작했는데도 22번 포트가 그대로 살아있고 새 포트는 적용되지 않는 현상.
진단 방법:
bash
1 | # 查看是谁在监听 22 端口 |
출력 결과가 아래와 비슷하다면:
1 | tcp 0 0.0.0.0:22 0.0.0.0:* LISTEN 1/init |
22번 포트는 sshd 프로세스가 아니라 init(PID 1)이 리스닝하고 있다는 뜻입니다.
원인: 일부 클라우드 업체의 '라이트 애플리케이션 서버’나 '컨테이너 인스턴스’는 SSH가 플랫폼 레이어에서 프록시 처리됩니다. 그래서 서버 내부의 sshd 설정은 먹히지 않아요.
해결 방법:
| 인스턴스 유형 | SSH 포트 변경 방법 |
|---|---|
| 전통적 ECS | sshd_config 수정 ✅ |
| 라이트 서버 | 클라우드 콘솔에서 변경해야 하거나, 아예 지원하지 않을 수 있음 |
| 컨테이너 인스턴스 | 보통 변경 미지원 |
만약 인스턴스에서 포트 변경을 지원하지 않는다면, 다른 보안 조치가 훨씬 더 중요해집니다:
- ✅ 일반 사용자 생성 + root 로그인 비활성화
- ✅ SSH 키 로그인 + 비밀번호 로그인 비활성화
- ✅ fail2ban으로 무차별 대입(Brute-force) 방어
이 조치들만 확실히 세팅해 두면 보안성은 여전히 아주 높습니다.
Q3: fail2ban이 나를 차단해버렸어요?
1 | # 用 VNC 登录后解封 |
Q4: UFW 활성화 후 웹사이트에 접속이 안 돼요?
1 | # 检查 80/443 是否开放 |
Q5: 명령어를 실행했는데 sudo를 찾을 수 없다고 떠요?
Debian 최소 설치 버전에는 sudo가 없을 수 있어요. root로 설치해 주세요:
1 | apt install sudo |
6. 원클릭 초기화 스크립트 (익숙해진 후 사용)
위 단계들에 이미 익숙해지셨다면, 이 스크립트로 빠르게 초기화할 수 있어요.
⚠️ 주의: 스크립트를 실행하기 전에 SSH 공개 키를 미리 준비해 두셨는지 확인하세요.
1 |
|
7. 여기까지 따라오셨다면, 보안은 얼마나 좋아졌을까요?
| 단계 | 작업 내용 | 중요한 이유 |
|---|---|---|
| 시스템 업데이트 | 최신 패치 설치 | 알려진 취약점 해결 |
| 새 사용자 생성 | root 계정 직접 사용 중단 | 실수로 인한 위험 감소 |
| SSH 키 도입 | 비밀번호 대신 키 사용 | 무차별 대입 공격 불가 |
| 포트 변경 | 기본 포트 22번 회피 | 스캔에 노출될 확률 감소 |
| 비밀번호 로그인 차단 | 키 로그인만 허용 | 비밀번호 공격 원천 차단 |
| root 로그인 금지 | root 직접 접속 차단 | 공격 난이도 상승 |
| UFW 방화벽 설정 | 필수 포트만 개방 | 공격 표면 축소 |
| BBR 가속 | 네트워크 성능 최적화 | 접속 속도 향상 |
| fail2ban 적용 | 악성 IP 자동 차단 | 지속적 공격 방지 |
여기까지 다 세팅하셨다면, 여러분의 서버 보안은 이미 전체 VPS의 **90%**를 뛰어넘었습니다.
다음 글 미리보기
다음 글에서는 SSH 키 로그인 설정 퀵 가이드를 다룰 예정입니다. 아래 내용들을 더 자세히 파볼게요:
- 다양한 OS에서 키 생성하는 방법
- 여러 개의 키 관리하기
- SSH Agent 설정
- 자주 쓰는 SSH 클라이언트 설정
이 글의 마지막 업데이트: 2026년 1월
인디 개발자 툴박스 시리즈, 팔로우 환영해요!




