보안 SSH키 인증 오류 해결법,설정 유효성 검증 및 원복(롤백)방법,그리고 실제 사설망IP를 확인하여UFW규칙을 구성하는 방법까지…
페이지 정보

본문
서버 보안 설정 실무에서 가장 빈번하게 발생하는 SSH 키 인증 오류 해결법, 설정 유효성 검증 및 원복(롤백) 방법, 그리고 실제 사설망 IP를 확인하여 UFW 규칙을 구성하는 방법까지 단계별 매뉴얼로 정리해 드립니다.
PART 1. SSH 키(Key) 인증 핵심 에러 유형 및 해결 방안
SSH 키를 등록한 후 접속할 때 가장 많이 발생하는 에러는 대부분 파일의 권한(Permission) 설정 오류 때문입니다. 리눅스 SSH 시스템은 보안을 위해 키 파일의 권한이 너무 느슨하면 접속을 거부합니다. [1]
1. Permission denied (publickey) 에러
서버에 공개키를 등록했는데도 비밀번호 창이 뜨지 않고 거부당하는 경우입니다. [1]
- 원인 1: 서버 내부 폴더 및 파일 권한 오류 (가장 흔함)
- 해결법: 서버에 로그인한 상태에서 .ssh 폴더는 소유자만 볼 수 있게 700, authorized_keys 파일은 600 권한으로 강제 조정해야 합니다.
# 서버 측 터미널에서 실행
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R $USER:$USER ~/.ssh # 소유권도 현재 접속 계정으로 일치시킵니다.
- 원인 2: 클라이언트(내 PC)의
비밀키 권한 오류 (UNPROTECTED PRIVATE KEY FILE!)
- 해결법: 내 PC에 있는 id_ed25519 비밀키 파일 역시 권한이 너무 열려 있으면 리눅스가 경고를 뿜으며 접속을 차단합니다.
# 내 PC(클라이언트) 터미널에서 실행
chmod 600 ~/.ssh/id_ed25519
2. Windows 환경에서 키 권한 에러 해결법
Windows 10/11이나 Windows Server에서 비밀키를 사용할 때 권한 오류가 나면 GUI 또는 파워셸로 권한을 상속 해제해야 합니다.
- 해결법 (PowerShell 관리자 권한):
powershell
# 파일 소유권을 현재 로그인한 사용자로 변경
icacls.exe "$env:USERPROFILE\.ssh\id_ed25519" /setowner "$env:USERNAME"
# 상속된 권한을 제거하고 다른 사용자의 접근을 원천 차단
icacls.exe "$env:USERPROFILE\.ssh\id_ed25519" /inheritance:r /grant:r "$($env:USERNAME):(F)"
PART 2. 설정 오류 시 안전한 원복(Rollback) 및 선제 조치 요령
/etc/ssh/sshd_config나 방화벽을 잘못 건드리면 관리자 본인도 서버에서 영구히 튕기는 대참사가 발생합니다. 이를 막기 위한 실무 필수 안전 수칙입니다.
1. [선제 조치] 백업 파일 생성 및 문법 검사 (가장 중요)
설정 파일을 수정하기 전에 무조건 복사본을 만듭니다.
bash
# 수정 전 원본 백업
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
코드를 사용할 때는 주의가 필요합니다.
수정을 마친 후, 서비스를 재시작하기 전에 반드시 문법 검사 명령어를 수행합니다.
bash
# SSH 설정 파일에 오타나 문법 오류가 없는지 사전 검사
sudo sshd -t
코드를 사용할 때는 주의가 필요합니다.
- 아무런 메시지도 출력되지 않으면 정상입니다. 에러 메시지가 뜬다면 서비스를 재시작하지 말고 즉시 백업본으로 원복해야 합니다.
2. [설정 오류 발생 시] 원래대로 원복하는 법
만약 문법 검사에서 에러가 나거나, 설정을 잘못해서 원상복구 해야 한다면 복사해 둔 백업본을 덮어씌우고 서비스를 재시작합니다.
bash
# 백업본으로 덮어쓰기
sudo cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config
# 서비스 재시작
sudo systemctl restart ssh
코드를 사용할 때는 주의가 필요합니다.
3. 실무자의 절대 규칙: "접속 유지"
SSH 설정을 변경하고 systemctl restart ssh를 눌렀다면, 현재 작업 중인 터미널 창을 절대 닫지 마세요.
그 상태 그대로 새로운 터미널 창을 하나 더 열어서 서버 접속을 시도합니다. 만약 새 창에서
접속에 실패하더라도, 기존 창이 살아있기 때문에 즉시 수정하거나 원복할 수 있습니다. [1]
PART 3. 사설망 IP 확인 및 맞춤형 UFW 규칙 설계법
내가 속한 네트워크 환경을 정확히 진단하고 방화벽을 올바르게 세우는 방법입니다.
1. 내 서버 및 사설망 IP 확인 명령어
리눅스(우분투) 환경
bash
# 가장 표준적인 IP 확인 명령어 (inet 뒤에 나오는 주소가 내 IP)
ip a
# 또는 구형 명령어
ifconfig
코드를 사용할 때는 주의가 필요합니다.
- 출력 예시 중 eth0 또는 enp3s0 같은 네트워크 카드 항목에서 inet 192.168.56.105/24와 같은 형태를 찾을 수 있습니다. 여기서 뒤에 붙은 /24가 서브넷 마스크 대역입니다.
윈도우 환경 (CMD 또는 PowerShell)
cmd
ipconfig
코드를 사용할 때는 주의가 필요합니다.
- IPv4 주소 항목과 서브넷 마스크(예: 255.255.255.0)를 확인합니다. 서브넷 마스크가 255.255.255.0이면 CIDR 표기법으로 /24 대역임을 뜻합니다.
2. 대표적인 사설망 IP 주소 대역 규격
전 세계적으로 공유기나 내부 사내망(NAT)에서 사용하도록 약속된 사설 IP 대역은 딱 3가지 종류뿐입니다. 내 서버 IP의 앞자리를 보고 대역을 판단합니다.
- A 클래스 대역: 10.0.0.0 ~ 10.255.255.255 (대규모
기업망, AWS VPC 등)
- UFW 범위 표기: 10.0.0.0/8 (앞의 10만 고정)
- B 클래스 대역: 172.16.0.0 ~ 172.31.255.255 (중규모
사내망, 도커 가상 네트워크 등)
- UFW 범위 표기: 172.16.0.0/12
- C 클래스 대역: 192.168.0.0 ~ 192.168.255.255
(가정용 공유기, 소규모 사무실 등)
- UFW 범위 표기: 192.168.0.0/16 (앞의 192.168까지 고정)
3. 실제 사설망 환경별 UFW 방화벽 규칙 짜기 시나리오
시나리오 A: 우리 집 공유기 내부의 모든 PC(192.168.0.X)에 SSH 접근을 허용하고 싶다
내 서버 IP를 확인해보니 192.168.0.15였고, 집안의 다른 노트북들이 192.168.0.2, 192.168.0.5 등을 쓰고 있다면 앞의 세 자리(192.168.0.)가 같은 대역입니다.
bash
# 192.168.0.0 부터 192.168.0.255 까지의 모든 사설 IP에 대해 22번 포트 허용
sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp
코드를 사용할 때는 주의가 필요합니다.
시나리오 B: 클라우드(AWS/가상머신) 환경의 대규모 내부망(10.X.X.X) 전체에 데이터베이스 접근을 허용하고 싶다
서버 IP가 10.50.12.3이고, 이 내부망 시스템 안에 있는 다른 수많은 연동 서버들이 자유롭게 내 MySQL 데이터베이스(3306)에 붙게 만들고 싶다면 대역을 넓게 잡습니다.
bash
# 10.0.0.0 부터 10.255.255.255 까지의 거대한 대역 전체에 대해 3306 포트 허용
sudo ufw allow from 10.0.0.0/8 to any port 3306 proto tcp
코드를 사용할 때는 주의가 필요합니다.
시나리오 C: 방화벽 규칙이 꼬였을 때 UFW 초기화하기
테스트를 하다가 UFW 규칙이 너무 복잡해졌거나 실수로 잘못 넣은 규칙이 많다면, 아예 초기 상태(Factory Reset)로 밀어버리는 것이 빠릅니다.
bash
# 모든 UFW 규칙을 삭제하고 방화벽을 초기 비활성 상태로 리셋
sudo ufw reset
코드를 사용할 때는 주의가 필요합니다.
직접 테스트 중이신 시스템 환경에서 ip a 또는 ipconfig 명령어를 입력했을 때 현재 할당받은 구체적인 IP 주소와 서브넷 마스크가 어떻게 나타나나요?
가장 널리 사용되는 가상 환경(VirtualBox 등) 및 사내망 환경을 기준으로 특정 IP 주소와 서브넷 마스크를 가정하여, 실무에 바로 적용할 수 있는 우분투(UFW) 자동화 방화벽 스크립트를 작성해 드립니다.
1. 시나리오 및 네트워크 환경 가정
- 내 서버의 현재 IP: 192.168.56.105
- 서브넷 마스크: 255.255.255.0 (CIDR 표기법으로 /24대역, 즉 192.168.56.0 ~ 192.168.56.255 범위)
- 신뢰할 수 있는 관리자 전용 PC 1대의 IP: 192.168.56.1
- 서버 서비스 포트: 웹 서버(80, 443), SSH 변경 포트(52222), MySQL 데이터베이스(3306)
2. 우분투 UFW 방화벽 자동화 쉘 스크립트 (secure_fw.sh)
이 스크립트를 서버에 파일로 저장하여 실행하면, 순식간에 강력한 화이트리스트 기반 방화벽이 완성됩니다.
bash
#!/bin/bash
# ====================================================================
# [보안 강화 방화벽 설정 스크립트]
# 환경 가정: 서버 IP (192.168.56.105), 내부 대역 (192.168.56.0/24)
# ====================================================================
echo "[+] UFW 방화벽 설정을 시작합니다..."
# 1. 기본 정책 수립: 들어오는 것은 전면 차단, 나가는 것은 허용
sudo ufw default deny inbound
sudo ufw default allow outbound
# 2. 대외 공개 서비스 개방 (웹 서버 포트 80, 443)
# 전 세계 누구나 접속할 수 있도록 포트를 엽니다.
sudo ufw allow 80/tcp comment '웹서버 HTTP'
sudo ufw allow 443/tcp comment '웹서버 HTTPS'
# 3. [최고 보안] 특정 관리자 PC(192.168.56.1)에만 SSH(52222) 접근 허용
# 관리자 IP가 바뀌면 시스템에 접속할 수 없으므로, 정확히 고정된 IP를 지정합니다.
sudo ufw allow from 192.168.56.1 to any port 52222 proto tcp comment '관리자 PC 전용 SSH'
# 4. [대역 보안] 동일 사설망 내(192.168.56.0/24) 다른 연동 서버들에만 DB(3306) 허용
# 외부 인터넷 해커는 접속할 수 없고, 오직 같은 네트워크망 장비들만 DB 포트에 접근 가능합니다.
sudo ufw allow from 192.168.56.0/24 to any port 3306 proto tcp comment '내부망 전용 MySQL'
# 5. 불필요하거나 실수로 열린 기존 규칙 초기화 검토 후 적용
echo "[+] 규칙 적용 완료. 방화벽을 활성화합니다."
# 6. UFW 활성화 (사용자 확인 절차 우회 --force)
sudo ufw --force enable
# 7. 적용된 결과 출력
echo "===================================================="
sudo ufw status numbered
echo "===================================================="
echo "[+] 방화벽이 성공적으로 구축되었습니다. 새 터미널에서 SSH 접속을 테스트하세요!"
코드를 사용할 때는 주의가 필요합니다.
3. 스크립트 작성 및 실행 방법 명령어
서버 터미널에서 아래 순서대로 명령어를 입력하여 스크립트를 실행합니다.
bash
# 1. nano 편집기로 스크립트 파일 생성
nano secure_fw.sh
# (위의 스크립트 코드를 복사해서 붙여넣은 후, Ctrl+O(저장) -> 엔터 -> Ctrl+X(종료) 합니다.)
# 2. 파일에 실행 권한 부여 (권한이 없으면 실행되지 않습니다.)
chmod +x secure_fw.sh
# 3. 관리자 권한으로 스크립트 강제 실행
sudo ./secure_fw.sh
코드를 사용할 때는 주의가 필요합니다.
4. 스크립트 실행 후 결과 화면 예시 (검증)
스크립트가 성공적으로 끝나면 터미널에 아래와 같은 구조화된 규칙 판독표가 출력됩니다.
text
Status: active
To Action From
-- ------ ----
[ 1] 80/tcp ALLOW IN Anywhere # 웹서버 HTTP
[ 2] 443/tcp ALLOW IN Anywhere # 웹서버 HTTPS
[ 3] 52222/tcp ALLOW IN 192.168.56.1 # 관리자 PC 전용 SSH
[ 4] 3306/tcp ALLOW IN 192.168.56.0/24 # 내부망 전용 MySQL
코드를 사용할 때는 주의가 필요합니다.
실무자용 팁: 만약 내 IP 환경에 맞게 수정하려면?
만약 나중에 실제 서버 IP 대역이 10.10.20.105에 마스크가 255.255.255.0인 환경으로 바뀐다면, 스크립트 내용 중 192.168.56.0/24 부분을 10.10.20.0/24로 단 한 줄만 교체하여 실행하시면 완벽히 호환됩니다.
이 스크립트를 바로 적용하기 전에, 혹시 운영 체제 내부의 SSH 설정 파일(/etc/ssh/sshd_config)에서 포트 번호를 22번에서 52222번으로 바꾸는 명령어 기법도 함께 자동화 스크립트에 포함하고 싶으신가요?
필요하시다면 SSH 설정 변경과 방화벽 구성을 통틀어 한 번에 해결하는 '통합 보안 스크립트'로 확장해 드릴 수 있습니다.
리눅스(우분투) 환경에서 SSH 포트 변경과 UFW 방화벽 설정을 한 번에 처리하는 '통합 보안 쉘 스크립트'와, 동일한 보안 정책을 윈도우 서버 및 일반 윈도우 환경에 일괄 적용할 수 있는 '윈도우 파워쉘(PowerShell) 자동화 스크립트'입니다.
가정하는 네트워크 환경(서버 IP: 192.168.56.105
, 관리자 PC: 192.168.56.1, 내부망 대역: 192.168.56.0/24)은 그대로 유지하여 작성했습니다.
PART 1. 우분투 리눅스 통합 보안 쉘 스크립트 (ubuntu_integrated_security.sh)
이 스크립트는 ① 기존 SSH 설정 파일 백업, ② SSH 포트 변경(22→52222) 및 패스워드 로그인 차단, ③ UFW 방화벽 화이트리스트 규칙 적용 및 활성화를 한 번에 수행합니다.
bash
#!/bin/bash
# ====================================================================
# [우분투 리눅스 통합 보안 서버 구축 스크립트]
# 역할: SSH 설정 최적화(포트 52222 변경) 및 UFW 방화벽 실무 정책 동시 적용
# ====================================================================
echo "[+] 우분투 서버 통합 보안 설정을 시작합니다..."
# --------------------------------------------------------------------
# 1. SSH 설정 파일(/etc/ssh/sshd_config) 백업 및 변조
# --------------------------------------------------------------------
SSH_CONFIG="/etc/ssh/sshd_config"
SSH_BACKUP="/etc/ssh/sshd_config.bak"
echo "[+] 1단계: SSH 설정 파일을 백업하고 보안을 강화합니다..."
if [ ! -f "$SSH_BACKUP" ]; then
sudo cp "$SSH_CONFIG" "$SSH_BACKUP"
echo " [*] 원본 파일 백업 완료: $SSH_BACKUP"
fi
# 기존 포트 주석 해제 또는 변경 (Port 52222 설정)
sudo sed -i 's/^#Port 22/Port 52222/' $SSH_CONFIG
sudo sed -i 's/^Port 22/Port 52222/' $SSH_CONFIG
# 보안 취약 정책 변경 (루트 로그인 차단, 패스워드 로그인 차단, 키 인증 활성화)
sudo sed -i 's/^#PermitRootLogin.*/PermitRootLogin no/' $SSH_CONFIG
sudo sed -i 's/^PermitRootLogin.*/PermitRootLogin no/' $SSH_CONFIG
sudo sed -i 's/^#PasswordAuthentication.*/PasswordAuthentication no/' $SSH_CONFIG
sudo sed -i 's/^PasswordAuthentication.*/PasswordAuthentication no/' $SSH_CONFIG
sudo sed -i 's/^#PubkeyAuthentication.*/PubkeyAuthentication yes/' $SSH_CONFIG
sudo sed -i 's/^PubkeyAuthentication.*/PubkeyAuthentication yes/' $SSH_CONFIG
# SSH 설정 파일 문법 검사
sudo sshd -t
if [ $? -ne 0 ]; then
echo "[!] 에러: SSH 설정 파일 문법에 오류가 있습니다. 원복합니다."
sudo cp "$SSH_BACKUP" "$SSH_CONFIG"
exit 1
fi
echo " [*] SSH 설정 파일 변경 성공 (포트: 52222)"
# --------------------------------------------------------------------
# 2. UFW 방화벽 설정 규칙 정의
# --------------------------------------------------------------------
echo "[+] 2단계: UFW 방화벽 규칙을 구성합니다..."
# 방화벽 초기화 및 기본 정책 (Inbound 차단, Outbound 허용)
sudo ufw reset --force
sudo ufw default deny inbound
sudo ufw default allow outbound
# 규칙 추가
sudo ufw allow 80/tcp comment 'HTTP Web'
sudo ufw allow 443/tcp comment 'HTTPS Web'
sudo ufw allow from 192.168.56.1 to any port 52222 proto tcp comment 'Admin PC SSH'
sudo ufw allow from 192.168.56.0/24 to any port 3306 proto tcp comment 'Internal MySQL'
# --------------------------------------------------------------------
# 3. 서비스 재시작 및 활성화
# --------------------------------------------------------------------
echo "[+] 3단계: 방화벽 활성화 및 SSH 서비스를 재시작합니다..."
sudo ufw --force enable
sudo systemctl restart ssh
echo "===================================================="
sudo ufw status numbered
echo "===================================================="
echo "[⚠️중요 필수 규칙]"
echo "현재 터미널 창을 절대 닫지 마십시오!"
echo "새 터미널 창을 열어 아래 명령어로 접속이 되는지 확인하십시오:"
echo "ssh -p 52222 -i [내_비밀키_경로] 계정@192.168.56.105"
코드를 사용할 때는 주의가 필요합니다.
PART 2. 윈도우 서버 및 윈도우 군 통합 보안 파워쉘 스크립트 (windows_security.ps1)
윈도우 환경(Windows Server 2019/2022 및 Windows 10/11 Pro)에서는 고급 보안이 포함된 Windows 방화벽(Windows Defender Firewall)과 내장 OpenSSH 서비스를 제어해야 합니다.
반드시 PowerShell을 [관리자 권한으로 실행]한 뒤 아래 코드를 복사해 실행하세요.
powershell
# ====================================================================
# [윈도우 서버/윈도우 군 통합 보안 구성 스크립트]
# 역할: Windows 고급 방화벽 화이트리스트 규칙 정의 및 OpenSSH 포트 변경
# ====================================================================
Write-Host "[+] 윈도우 보안 설정을 시작합니다..." -ForegroundColor Cyan
# --------------------------------------------------------------------
# 1. 윈도우 OpenSSH 서버 기능 활성화 및 포트(52222) 변경
# --------------------------------------------------------------------
Write-Host "[+] 1단계: OpenSSH 서비스 상태 점검 및 포트 변경..." -ForegroundColor Yellow
# OpenSSH Server 기능 설치 여부 확인 후 설치
$sshStatus = Get-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
if ($sshStatus.State -ne "Installed") {
Write-Host " [*] OpenSSH 서버를 설치 중입니다..."
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
}
$sshdConfig = "C:\ProgramData\ssh\sshd_config"
if (Test-Path $sshdConfig) {
# 기존 백업
Copy-Item $sshdConfig "$sshdConfig.bak" -Force
# 설정 파일 텍스트 수정 (포트 변경 및 패스워드 인증 차단)
(Get-Content $sshdConfig) -replace '#Port 22', 'Port 52222' `
-replace 'Port 22', 'Port 52222' `
-replace '#PasswordAuthentication yes', 'PasswordAuthentication no' `
-replace 'PasswordAuthentication yes', 'PasswordAuthentication no' `
-replace '#PubkeyAuthentication yes', 'PubkeyAuthentication yes' |
Set-Content $sshdConfig
Write-Host " [*] sshd_config 파일 수정 및 백업 완료." -ForegroundColor Green
}
# --------------------------------------------------------------------
# 2. Windows Defender 방화벽 구축 (기존 허술한 규칙 제거 후 신규 생성)
# --------------------------------------------------------------------
Write-Host "[+] 2단계: Windows 방화벽 화이트리스트 규칙을 구축합니다..." -ForegroundColor Yellow
# 안전을 위해 기존에 등록되어 있을지 모르는 동일 이름의 규칙 삭제
Remove-NetFirewallRule -Name "Web-HTTP", "Web-HTTPS", "SSH-AdminOnly", "MySQL-InternalOnly" -ErrorAction SilentlyContinue
# 규칙 A. 웹 서비스 개방 (80, 443) - 전체 공개
New-NetFirewallRule -Name "Web-HTTP" -DisplayName "Web-HTTP (80)" -Enabled True -Direction Inbound -Action Allow -Protocol TCP -LocalPort 80 -Profile Any
New-NetFirewallRule -Name "Web-HTTPS" -DisplayName "Web-HTTPS (443)" -Enabled True -Direction Inbound -Action Allow -Protocol TCP -LocalPort 443 -Profile Any
# 규칙 B. SSH 접속 제한 (52222) - 오직 특정 관리자 PC(192.168.56.1)만 허용
New-NetFirewallRule -Name "SSH-AdminOnly" -DisplayName "SSH-Admin Only (52222)" -Enabled True -Direction Inbound -Action Allow -Protocol TCP -LocalPort 52222 -RemoteAddress "192.168.56.1" -Profile Any
# 규칙 C. MySQL DB 접속 제한 (3306) - 오직 내부 사설망 대역(192.168.56.0/24)만 허용
New-NetFirewallRule -Name "MySQL-InternalOnly" -DisplayName "MySQL-Internal Network Only (3306)" -Enabled True -Direction Inbound -Action Allow -Protocol TCP -LocalPort 3306 -RemoteAddress "192.168.56.0/24" -Profile Any
# --------------------------------------------------------------------
# 3. 서비스 재시작 및 최종 적용
# --------------------------------------------------------------------
Write-Host "[+] 3단계: 설정을 시스템에 반영하고 서비스를 시작합니다..." -ForegroundColor Yellow
# OpenSSH 서비스 재시작 및 자동 실행 등록
Set-Service -Name sshd -StartupType 'Automatic'
Restart-Service sshd
Write-Host "====================================================" -ForegroundColor Cyan
Write-Host "[+] 윈도우 통합 방화벽 및 SSH 보안 설정이 완료되었습니다." -ForegroundColor Green
Write-Host "생성된 보안 규칙 리스트를 확인하세요:" -ForegroundColor White
Get-NetFirewallRule -Name "Web-HTTP", "Web-HTTPS", "SSH-AdminOnly", "MySQL-InternalOnly" | Select-Object DisplayName, Enabled, Direction, Action
Write-Host "====================================================" -ForegroundColor Cyan
코드를 사용할 때는 주의가 필요합니다.
윈도우 환경 실행 시 주의사항 (Execution Policy)
윈도우는 기본 보안 정책상 인터넷에서 다운로드하거나 직접 만든 스크립트(.ps1) 파일의 실행을 차단합니다. 따라서 위 윈도우 스크립트를 실행하기 전, 파워셸 창에 먼저 다음 명령어를 입력하여 스크립트 실행 권한을 임시로 풀어주어야 합니다.
powershell
# 현재 파워셸 창에 한해서만 스크립트 실행 봉쇄 해제
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
코드를 사용할 때는 주의가 필요합니다.
이후 .\windows_security.ps1을 실행하시면 막힘없이 작동합니다.
리눅스와 윈도우 환경에 대한 실무 통합 스크립트가 완성되었습니다.
가상 머신 환경에 이 스크립트들을 넣고 구동해 보는 과정에서 코드가 정상적으로 동작하지 않거나, 통신 환경(네트워크 어댑터 설정 등) 때문에 접속이 안 되는 상황이 발생할 수도 있습니다.
- 이전글공개키(authorized_keys)를 서버에 등록하는 작업과 비밀키(Private Key)를 사용하여 서버에 원격 접속하는 실무 방법 26.08.01
- 다음글1) 칼리 리눅스의 본질과 서비스 운영에 쓰이지 않는 이유, 2) 우분투 및 윈도우 환경에서의 SSH 키 인증 및 방화벽(UFW 포함) 실무 매뉴얼을 상세히 나누어 설명해 드리겠습니다. 26.08.01
댓글목록

최고관리자님의 댓글
최고관리자 작성일
"패스워드 로그인 제한"의 정확한 의미(웹 로그인과SSH로그인의 차이점)
웹사이트(홈페이지)의 로그인 화면과는아무런 상관이 없습니다.
여기서 제한하는 것은서버 터미널에 원격으로 접속하는SSH(Secure Shell)서비스의 로그인 방식입니다. 이해를 돕기 위해 비교해 드릴게요.
영향을 받지 않는 것(웹사이트 로그인):
사용자가 네이버,구글,또는 운영 중인 홈페이지에 접속해 아이디와 비밀번호를 치고 들어가는 일반적인 웹 로그인은 기존과 똑같이정상 작동합니다.
차단되는 것(SSH터미널 로그인):
해커들이Hydra같은 도구로 서버 권한을 뺏으려고ID/PW를 무차별 대입하는터미널 접속(22번 또는52222번 포트)창입니다.
비밀번호 입력 방식을 아예 꺼버렸기 때문에,해커가 아무리 올바른 비밀번호를 알아내서 입력해도 서버가 거부합니다.
오직 사전에 생성해 둔‘암호화 키 파일(.pem또는id_ed25519)’을 컴퓨터에 가지고 있는 관리자만패스워드 없이 다이렉트로 접속할 수 있게 됩니다.
