SSD Nodes Learn Hosting plans →
가이드 Matt Connor작성자 Matt Connor · 업데이트됨 2026-08-13

Ubuntu 24.04 Webmin 설치 및 보안 설정 가이드

Ubuntu 24.04 환경에서 Webmin을 설치하고 포트 10000 보안을 강화하는 방법을 다룹니다. SSH 터널링, IP 화이트리스트, Let's Encrypt 인증서 적용, 2FA 및 Fail2ban 설정으로 root 권한을 안전하게 보호하는 실무 가이드를 확인하십시오.

구축할 내용

Webmin은 Linux 서버 전체를 브라우저 기반의 인터페이스로 관리할 수 있게 해주는 웹 제어판입니다. 사용자, 패키지, cron 작업, 방화벽, Apache, BIND, 디스크 등 수많은 모듈을 관리할 수 있으며, HTTPS 포트 10000을 통해 접속합니다. 설치 과정은 3개의 명령어로 구성되며 약 1분 정도 소요됩니다. 이 가이드의 후반부에 많은 분량을 할애하는 이유는 Webmin이 root 계정으로 로그인하며 root 권한으로 수행 가능한 모든 작업을 처리할 수 있기 때문입니다. 보안 설정이 미흡하거나 인증되지 않은 Webmin은 단순한 "관리 위험" 수준이 아니라, 로그인 페이지만 앞에 있을 뿐 서버 전체가 탈취된 것과 다름없습니다. 따라서 10분 내에 설치를 완료한 뒤, 나머지 시간은 오직 본인만 접속할 수 있도록 보안을 강화하는 데 집중해야 합니다.

사전 요구 사항 및 주의 사항

Ubuntu 24.04 기반의 신규 KVM VPS와 root 또는 sudo 권한을 가진 사용자가 필요합니다. Webmin은 Perl 기반의 가벼운 소프트웨어로, 1 GB RAM이면 충분하며 유휴 상태에서는 0.25 GB 미만을 사용합니다. Webmin은 Apache나 nginx가 아닌 자체 내장 웹 서버(miniserv.pl)를 통해 TCP 10000 포트에서 대기하므로, 사전에 다른 소프트웨어를 설치할 필요가 없습니다.

시작하기 전에 두 가지를 결정해야 합니다. 첫째, 로그인할 계정입니다. Webmin은 PAM을 통해 Unix 계정을 인증하므로, root 또는 sudo 그룹에 속한 사용자로 해당 계정의 Unix 비밀번호를 사용하여 로그인합니다. 클라우드 이미지는 일반적으로 비밀번호 없이 SSH 키만 사용하도록 설정되어 있는데, Webmin은 비밀번호가 없는 계정으로는 로그인할 수 없습니다. 먼저 sudo passwd youruser 명령으로 비밀번호를 설정하십시오. 그렇지 않으면 어떤 값을 입력해도 로그인이 실패합니다.

둘째, 주의 사항입니다. 10000 포트를 인터넷에 무작정 개방하고 방치하지 마십시오. Webmin에 SSH 터널을 통해 접속할지(권장, 외부 노출 없음), 아니면 특정 IP에서만 접속하도록 제한할지 결정해야 합니다. 이 결정 하나가 아래의 모든 단계에 영향을 미치므로, 방화벽을 건드리기 전에 두 가지 옵션을 모두 읽어 보시기 바랍니다.

공식 저장소에서 Webmin 설치하기

Webmin은 서명된 apt 저장소를 제공합니다. 설정 스크립트를 실행하면 저장소와 GPG 서명 키가 추가되므로, 이후 apt upgrade을 실행할 때 다른 패키지와 마찬가지로 Webmin을 가져올 수 있습니다. 이렇게 하면 직접 다운로드한 .deb 파일과 달리 인증된 업데이트를 받을 수 있습니다.

curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
sudo sh webmin-setup-repo.sh

스크립트는 수행할 작업을 출력하고 Setup repository? (y/N)를 묻습니다. 이때 y을 입력하십시오. 작업이 완료되면 패키지를 설치합니다. --install-recommends 플래그를 사용하면 공통 Perl 및 SSL 모듈 의존성이 함께 설치되므로, 나중에 개별 모듈이 라이브러리 누락 오류로 실패하는 일을 방지할 수 있습니다.

sudo apt-get install --install-recommends webmin

Webmin은 이 스크립트의 이름을 변경한 적이 있으며, 구형 가이드들은 setup-repos.sh을 참조하기도 합니다. 따라서 원본 URL에서 404 오류가 발생하면, 특정 파일명을 고정하지 말고 webmin.com/download에서 최신 원라인 스크립트를 직접 가져오십시오. 올바르게 설치되면 Webmin install complete. You can now login to https://your-host:10000/ as root와 같은 줄이 출력되며 종료됩니다. 서비스는 활성화되어 실행 중인 상태가 되며, 설정 파일은 /etc/webmin 아래에 위치하고, 요청 로그는 /var/webmin/miniserv.log에 기록됩니다. 로그인 실패 기록은 syslog로 전송되며, Ubuntu 24.04의 경우 systemd journal에 기록됩니다.

브라우저를 열기 전에 서비스가 실제로 실행되어 포트를 점유하고 있는지 확인하십시오:

sudo systemctl status webmin --no-pager
sudo ss -tlnp | grep 10000

active (running) 상태가 확인되어야 하며, miniserv.pl0.0.0.0:10000에 바인딩된 줄이 보여야 합니다. 아래의 터널 경로를 설정하면 해당 주소는 127.0.0.1:10000로 변경됩니다. 만약 ss 명령 결과에서 10000번 포트가 보이지 않는다면 Webmin이 시작되지 않은 것입니다. 더 진행하기 전에 journalctl -u webmin -n 50을 읽어보십시오.

최초 로그인 및 인증서 경고

브라우저에서 https://YOUR_SERVER_IP:10000에 접속합니다. 새로 설치된 서버에서는 두 가지 현상이 발생합니다.

ufw가 활성화되어 있다면(Ubuntu 서버 이미지는 기본적으로 비활성화 상태이지만, 많은 제공업체가 미리 활성화해 둡니다) 페이지가 전혀 로드되지 않으며, 이는 아래의 실패 모드에서 다룹니다. 포트가 열려 있다면 브라우저는 전체 화면 차단 메시지를 표시합니다. Chrome에서는 "Your connection is not private"와 함께 NET::ERR_CERT_AUTHORITY_INVALID 코드가 나타나며, Firefox에서는 SEC_ERROR_UNKNOWN_ISSUER / "Warning: Potential Security Risk Ahead"가 표시됩니다. 이는 예상된 동작이며 해킹 시도가 아닙니다. Webmin은 설치 시점에 자체 서명된 인증서(/etc/webmin/miniserv.pem)를 생성하는데, 이를 보증하는 인증 기관이 없으므로 브라우저가 신뢰를 거부하는 것입니다. 연결은 암호화된 상태이지만, 단지 보증되지 않았을 뿐입니다. 지금은 (고급을 누른 뒤 진행을 선택하여) 넘어가고, 나중에 이 인증서를 올바르게 교체할 것입니다.

root 또는 sudo 사용자와 해당 Unix 암호로 로그인하면 시스템 정보 대시보드가 나타납니다. 여기서 흔히 하는 실수는 http:// 대신 https://를 입력하는 것입니다. miniserv는 해당 포트에서 일반 HTTP 요청을 받으면 "This web server is running in SSL mode. Try the URL https://..."라는 문구를 정확히 반환합니다. 해결 방법은 주소창에서 httphttps으로 변경하는 것뿐입니다.

보안 결정: Webmin에 어떻게 접근할 것인가?

이제 가장 중요한 부분입니다. root 권한과 동등한 패널을 전 세계의 모든 스캐너로부터 로그인 시도를 받는 공개 인터넷에 노출해서는 안 됩니다. 선호도 순으로 두 가지 방어 가능한 선택지가 있습니다. 모든 자가 호스팅 관리 인터페이스는 이 문제에 직면하게 되며, 이것이 바로 Vaultwarden의 보안성 여부가 암호화 방식보다는 관리자 엔드포인트와 백업 파일에 의해 결정되는 이유입니다.

옵션 B의 SSH 터널은 아무것도 노출하지 않으므로 더 나은 선택입니다. 옵션 A의 IP 허용 목록은 사용자의 IP 주소가 고정되어 있다면 허용 가능한 수준입니다. 이 두 가지를 모두 수행하지 않는 것은 이 가이드가 방지하고자 하는 바로 그 실수입니다. 만약 두 방법보다 사설 네트워크를 통해 Webmin에 접근하는 것을 선호한다면, 서버를 자가 호스팅 WireGuard VPN 뒤에 배치하고 Webmin을 공용 주소가 아닌 터널 주소에 바인딩하십시오.

옵션 A: Webmin 접근을 특정 IP로 제한

패널에서 Webmin, Webmin Configuration, IP Access Control 순으로 이동합니다. "Only allow from listed addresses"를 선택하고 노트북에서 curl ifconfig.me을 실행하여 확인한 공인 IP 주소를 입력합니다. 저장합니다. Webmin은 이 설정을 /etc/webmin/miniserv.conf 파일의 allow= 라인에 기록하고 스스로 재시작합니다.

주의할 점은 가정용 IP가 유동 IP여서 변경되거나 IP 주소를 잘못 입력할 경우, 스스로 접근을 차단하게 된다는 것입니다. 이후 브라우저에는 "Access denied for <your IP>" 메시지만 표시되고 로그인 폼이 나타나지 않으며, 웹을 통한 복구 방법도 없습니다. 이 경우 SSH를 통한 서버 콘솔이나 제공업체의 VNC를 사용하여 해결해야 합니다.

sudo nano /etc/webmin/miniserv.conf
# find the line that begins  allow=
# correct your IP, or delete the whole line to allow all again
sudo systemctl restart webmin

allow= 라인을 삭제하면 모든 접근이 허용된 상태로 복구됩니다. 따라서 이 방법은 복구 목적으로만 사용하고, 즉시 올바른 값으로 다시 설정하십시오.

옵션 B: localhost에 바인딩하고 SSH 터널링 사용 (권장)

허용 목록(allowlist)을 사용하는 것보다 더 좋은 방법은 공용 인터페이스에서 아예 수신 대기하지 않는 것입니다. miniserv가 루프백(loopback) 주소에만 바인딩하도록 설정한 뒤, 이미 신뢰하는 암호화된 SSH 터널을 통해 접속하십시오.

/etc/webmin/miniserv.conf 파일을 편집하여 다음 줄을 추가하거나 변경하십시오.

bind=127.0.0.1

sudo systemctl restart webmin 명령으로 재시작하십시오. 이제 Webmin은 인터넷에서 접근할 수 없으며, 10000 포트를 스캔해도 아무것도 발견되지 않습니다. 앞서 수행한 ss 확인 결과는 이제 127.0.0.1:10000에 바인딩된 것으로 나타납니다. 노트북에서 다음 명령으로 터널을 여십시오.

ssh -L 10000:localhost:10000 youruser@YOUR_SERVER_IP

해당 세션을 열어둔 상태에서 https://localhost:10000 주소로 접속하십시오. 트래픽은 이미 키 인증과 암호화가 적용된 SSH 내부를 통과하므로, 여기서 자체 서명된 인증서를 안전하게 수락해도 됩니다. 실제 보호는 SSH 계층에서 수행하기 때문입니다. SSH 세션을 닫으면 Webmin은 즉시 사라집니다. 허용 목록을 관리할 필요도, 외부로 노출할 것도 없으며, 추가로 보안을 강화해야 할 서비스도 없습니다.

만약 bind=127.0.0.1을 설정한 후 터널링을 잊어버리면 원격 접속이 차단되는데, 이는 오류가 아니라 기능이 정상적으로 작동하는 것입니다. 옵션 A와 동일한 방식으로 복구하십시오. 콘솔에서 bind 줄을 삭제하거나 bind=0.0.0.0로 설정한 뒤 재시작하면 됩니다. 이는 tmux에서 Claude Code를 실행 중인 원격 개발 서버에 접속할 때 사용하는 터널링 습관과 동일합니다. 하나의 SSH 세션으로 모든 것을 비공개로 유지하며, 공용 인터페이스에서 추가로 수신 대기하는 서비스 없이 운영할 수 있습니다.

자체 서명 인증서를 실제 인증서로 교체하기

옵션 A에 따라 호스트네임으로 Webmin을 노출하는 경우, Let's Encrypt의 실제 인증서를 사용하여 브라우저 경고를 제거하십시오. 서버를 가리키는 A 레코드가 설정된 panel.example.com과 같은 DNS 이름이 필요하며, 검증 과정에서 포트 80의 HTTP 챌린지에 응답할 수 있는 환경이 갖춰져야 합니다.

Webmin에는 이 기능이 내장되어 있습니다. Webmin, Webmin Configuration, SSL Encryption, Let's Encrypt 탭 순서로 이동하십시오. 호스트네임을 입력하고, 해당 도메인의 포트 80에서 서비스되는 경로를 "website root directory"로 지정한 뒤 요청을 보냅니다. Webmin이 인증서를 획득하고 miniserv.conf 파일 내의 certfile=keyfile= 항목을 자동으로 업데이트하며, 만료 전 자동으로 갱신합니다. 페이지를 새로고침하면 자물쇠 아이콘이 정상적으로 표시됩니다.

한 가지 주의할 점은 Webmin 자체 서버는 포트 80이 아닌 10000에서 실행된다는 것입니다. 따라서 http-01 챌린지를 수행하려면 포트 80에서 panel.example.com에 응답하는 Apache나 nginx 같은 실제 웹 서버가 필요하거나, DNS 기반의 검증 방식을 사용해야 합니다. 포트 80에 아무것도 실행되지 않는 Webmin 전용 서버에서는 Let's Encrypt가 챌린지 파일에 접근할 수 없으므로 검증 오류가 발생합니다. 메커니즘, DNS 레코드, 포트 80 챌린지, 갱신 과정은 일반 웹사이트의 인증서 발급과 동일합니다. 관련 배경 지식이 필요하다면 Certbot과 nginx를 이용한 Let's Encrypt TLS 인증서 가이드에서 검증 흐름과 DNS 설정을 상세히 확인할 수 있습니다. SSH 터널 방식을 선택했다면 이 섹션은 건너뛰어도 됩니다. SSH 내부에서는 자체 서명 인증서로도 충분하며, panel.example.com로 발급받은 실제 인증서라 하더라도 https://localhost:10000에 접속할 때는 어차피 이름 불일치 경고가 발생하기 때문입니다.

2단계 인증 활성화

비밀번호만으로는 root 패널을 보호하기에 부족하므로 2단계 인증을 추가합니다. Webmin에서 Webmin Configuration, Two-Factor Authentication 순으로 이동합니다. Google Authenticator 공급자를 선택합니다. 이는 표준 TOTP 방식이므로 Authy, 1Password 또는 기타 인증 앱과 호환됩니다. 설정을 저장하면 Webmin이 필요한 소형 Perl 모듈(Authen::OATH 및 QR 생성기)을 설치하고 기능을 활성화합니다. 이 단계만으로는 아직 계정이 보호되지 않습니다.

각 계정은 개별적으로 기기를 등록해야 합니다. 2FA가 활성화된 상태에서 WebminWebmin Users로 이동하여 계정을 선택합니다. Enable Two-Factor For User를 선택하면 Webmin이 QR 코드를 표시합니다. 앱으로 이를 스캔하고 생성된 코드 하나를 입력하여 확인합니다. 이후부터는 로그인 시 비밀번호 입력 후 6자리 토큰을 요구합니다. 로그아웃하기 전에 등록을 완료하십시오. 2FA가 필수인데 계정에 코드를 등록하지 않은 경우, 콘솔에서 해당 요구 사항을 해제할 수 있으나 미리 등록하는 것이 훨씬 간편합니다.

무차별 대입 로그인을 차단하기 위해 Fail2ban 추가

제한된 로그인 엔드포인트라도 반복적인 실패에 대해서는 제재를 가해야 합니다. Webmin은 로그인 실패 시 webmin[12345]: Invalid login as root from 10.0.0.9 형식으로, Unix 계정이 아닌 경우에는 Non-existent login as ... 형식으로 syslog에 기록합니다. Ubuntu 24.04의 기본 이미지에는 /var/log/auth.log가 없으므로 해당 로그는 systemd 저널에 기록됩니다. Fail2ban은 이 두 가지 로그 형식을 정확히 일치시키는 기본 webmin-auth 필터를 제공하며, 아래의 jail 설정은 backend = systemd를 자동으로 설정하므로 별도의 정규 표현식이나 로그 경로를 지정할 필요가 없습니다.

/etc/fail2ban/jail.d/webmin.local 파일을 생성합니다:

[webmin-auth]
enabled  = true
port     = 10000
filter   = webmin-auth
backend  = systemd
maxretry = 4
bantime  = 1h

sudo systemctl restart fail2ban 명령으로 설정을 다시 불러온 뒤, jail이 활성화되었는지 확인합니다:

sudo fail2ban-client status webmin-auth

jail이 나열되어 있고 초기 차단 카운터가 0으로 표시되어야 합니다(저널 백엔드에서는 File list: 줄이 나타나지 않습니다). 연동이 정상적으로 작동하는지 확인하려면 다른 네트워크에서 의도적으로 로그인을 몇 번 실패한 뒤, 상태 확인 명령을 다시 실행하여 Currently banned 수치가 올라가는지 확인하십시오. 수치가 변하지 않는다면 Fail2ban의 ignoreip에 포함된 주소에서 테스트하고 있는 것은 아닌지 확인하고, 서버에서 journalctl SYSLOG_IDENTIFIER=webmin 명령을 실행하여 Invalid login 줄이 실제로 기록되고 있는지 확인하십시오. 이 서버에 Fail2ban이 아직 설치되지 않았다면, Ubuntu 24.04의 Fail2ban 및 SSH 가이드를 참조하여 설치 방법과 함께 구성해야 할 SSH jail 설정을 확인하십시오.

Webmin 사용자의 접근 권한 제한

패널을 사용하는 모든 사람이 모든 항목에 대해 root 권한을 가질 필요는 없습니다. Webmin 메뉴의 Webmin Users에서 추가 Webmin 계정을 생성하고, 각 사용자에게 필요한 모듈만 부여하십시오. 예를 들어, 백업 담당자에게는 cron 및 filesystem 모듈만 보이도록 설정할 수 있습니다. 사용자 편집 화면에는 모든 모듈의 체크리스트가 표시됩니다. 특정 모듈의 체크를 해제하면 해당 사용자의 메뉴에서 모듈이 제거되며, 관련 URL에 대한 접근도 차단됩니다. 이는 심층 방어 전략의 일환입니다. 권한이 낮은 Webmin 세션이 탈취되더라도, Users 모듈이 목록에 없다면 /etc/shadow을 수정할 수 없습니다.

Webmin 업데이트 유지

apt 저장소를 통해 설치했으므로, sudo apt update && sudo apt upgrade은 시스템의 다른 패키지와 함께 새로운 Webmin 릴리스를 가져옵니다. 제어판은 공격자의 주요 표적이 되므로 즉시 패치하십시오. Webmin은 Webmin, Webmin Configuration, Upgrade Webmin 메뉴를 통해 자체 업데이트할 수도 있지만, Ubuntu에서는 apt를 사용하는 것이 다른 패키지 관리와 버전을 일관되게 유지할 수 있어 더 깔끔합니다. 이를 선택 사항으로 여기지 마십시오. 과거 여러 Webmin CVE는 원격 코드 실행 버그였으며, "패치 완료"와 "서버 침해" 사이의 차이는 관리자가 얼마나 빨리 업그레이드를 수행했느냐에 달려 있었습니다.

발생하는 오류 유형과 메시지

"Your connection is not private" / NET::ERR_CERT_AUTHORITY_INVALID. 첫 접속 시 나타납니다. 원인: 설치 시 Webmin이 생성한 자체 서명 인증서에는 신뢰할 수 있는 발급자가 없습니다. 공격이 아니며 채널은 암호화되어 있으나 보증되지 않은 상태입니다. 해결 방법: 일단 경고를 무시하고 진행한 뒤 실제 Let's Encrypt 인증서를 발급받거나, SSH 터널을 통해 Webmin에 접속하는 경우 영구적으로 수락하십시오.

"This web server is running in SSL mode. Try the URL https://..." http://server:10000를 입력했습니다. miniserv는 해당 포트에서 TLS만 지원하며 이를 일반 텍스트로 알리는 것입니다. 해결 방법: 주소창에서 httphttps로 변경하십시오.

페이지 시간 초과, ERR_CONNECTION_TIMED_OUT / "This site can't be reached". 요청이 Webmin에 도달하지 못했습니다. Ubuntu에서는 거의 항상 ufw가 포트 10000을 차단하기 때문입니다. sudo ufw status로 확인하십시오. 10000이 목록에 없다면 sudo ufw allow 10000/tcp로 포트를 열거나, 더 나은 방법으로 포트를 닫아둔 채 옵션 B의 SSH 터널을 사용하십시오. 차이점: 시간 초과는 방화벽이 패킷을 조용히 폐기함을 의미하며, ERR_CONNECTION_REFUSED는 포트에는 도달했으나 Webmin이 실행 중이지 않음을 의미하므로 sudo systemctl status webmin을 확인해야 합니다.

"Access denied for <your IP>." 옵션 A에서 IP 접근 제어를 설정했으나 현재 주소가 허용 목록에 없거나, 유동 IP가 변경되었거나, 오타가 있는 경우입니다. 브라우저를 통해 복구할 방법은 없습니다. 콘솔에서 해결하십시오: /etc/webmin/miniserv.conf 파일의 allow= 줄을 수정하거나 삭제한 뒤 sudo systemctl restart webmin를 실행하십시오.

올바른 자격 증명을 입력했음에도 "Login failed. Please try again."이 발생함. 해당 계정에 Unix 암호가 설정되지 않은 경우입니다. 이는 키 기반 인증만 사용하는 클라우드 이미지에서 일반적입니다. Webmin은 PAM을 통해 Unix 암호를 인증하는데, 해당 사용자에게 암호가 존재하지 않기 때문입니다. 해결 방법: 서버에서 sudo passwd youruser를 실행한 뒤 로그인하십시오. /var/webmin/miniserv.log에서 Non-existent login as ...이 표시된다면, Unix 계정이 아닌 사용자 이름을 입력하고 있는 것입니다.

서버가 여러 대라면 각 서버마다 제어판을 설치하는 것보다 자동화가 더 효율적입니다. 첫 번째 Ansible 플레이북에서 시작해 보십시오.

FAQ

Webmin을 공용 인터넷에 노출해도 안전합니까?

인터넷에 노출된 Webmin은 로그인 페이지가 있는 root 셸과 다름없으므로 그에 준하는 주의가 필요합니다. 신뢰할 수 있는 인증서, 2단계 인증, Fail2ban, 엄격한 IP 허용 목록을 적용하거나, 더 나아가 아예 외부 노출을 차단해야만 안전합니다. 가장 위험이 낮은 설정은 Webmin을 127.0.0.1에 바인딩하고 SSH 터널을 통해 접속하는 것이며, 이렇게 하면 공용 인터넷에서 10000번 포트로 접근할 수 없습니다.

Webmin 인증서 경고는 어떻게 없앱니까?

이 경고(NET::ERR_CERT_AUTHORITY_INVALID)는 Webmin이 자체 서명된 인증서를 기본으로 제공하기 때문에 발생합니다. Webmin Configuration, SSL Encryption, Let's Encrypt 메뉴에서 실제 인증서를 발급받으십시오. 이때 서버를 가리키는 DNS 이름을 사용해야 하며, 검증을 위해 80번 포트로 챌린지 요청을 처리할 수 있어야 합니다. 만약 항상 SSH 터널을 통해 localhost으로만 Webmin에 접속한다면, 이 경고는 무시해도 됩니다. SSH가 이미 연결을 암호화하고 인증하므로 자체 서명된 인증서를 수락해도 안전합니다.

Webmin 접근을 특정 IP 주소로만 제한하려면 어떻게 합니까?

Webmin에서 Webmin Configuration, IP Access Control로 이동하여 "Only allow from listed addresses"를 선택하고 curl ifconfig.me에서 확인한 본인의 공용 IP를 입력하십시오. Webmin은 이 설정을 /etc/webmin/miniserv.conf 파일의 allow= 항목에 저장합니다. 가정용 유동 IP를 사용하는 경우 주의하십시오. IP가 변경되면 접속이 차단되어 서버 콘솔에서 직접 allow= 항목을 수정해야 하므로, 고정 IP를 사용하거나 SSH 터널 방식을 사용하는 것이 훨씬 안정적입니다.

올바른 비밀번호를 입력해도 로그인이 실패하는 이유는 무엇입니까?

Webmin은 PAM을 통해 Unix 비밀번호를 인증합니다. 클라우드 이미지는 보통 비밀번호 없이 SSH 키 기반으로만 설정되어 있어 PAM이 대조할 비밀번호가 없으므로 로그인이 거부됩니다. 서버에서 sudo passwd youruser를 실행하여 비밀번호를 설정한 후 로그인하십시오. /var/webmin/miniserv.log 파일에 Non-existent login as ... 항목이 있다면 이는 해당 사용자 이름이 실제 Unix 계정이 아님을 의미합니다.

일반 SSH와 비교했을 때 Webmin의 장점은 무엇입니까?

Webmin은 시스템 탐색과 관리를 편리하게 해주는 계층입니다. 모든 명령어를 외우지 않고도 로그 파일을 확인하고, 사용자 및 cron을 관리하며, 방화벽 규칙을 편집하고, 디스크 및 서비스 상태를 파악하는 데 매우 유용합니다. 관리 업무가 잦지 않거나 다양한 기술 수준을 가진 팀이 운영할 때 편리합니다. 일반 SSH는 더 빠르고 스크립트 작성이 가능하며 일상적인 작업 시 공격 표면을 훨씬 적게 노출합니다. 많은 관리자가 두 방식을 병행합니다. 일상적인 작업은 SSH를 사용하고, 가끔 마우스 클릭이 필요한 작업은 터널을 통해 localhost에 바인딩된 Webmin을 사용합니다. 만약 질문의 의도가 셸과 패널 중 선택하는 것이 아니라 어떤 패널을 사용할지 고민하는 것이라면, 시스템 변경 범위와 인증 방식이 서로 다른 Cockpit과 Webmin 비교를 먼저 검토해 보는 것이 좋습니다.