당신의 첫 가상 Linux 랩: 간단한 설정 가이드
Source: Dev.to
Ubuntu에 SSH 서버 설정
# Update package list
sudo apt update
# Install OpenSSH server
sudo apt install -y openssh-server
# Enable and start the service
sudo systemctl enable ssh
sudo systemctl start ssh
SSH 서버를 설치하고 부팅 시 자동으로 시작하도록 설정합니다.
서비스 확인
sudo systemctl status ssh
active (running) 이 표시되어야 합니다.
VM의 IP 주소 확인:
ip a
다음과 비슷한 줄이 보일 것입니다:
inet 192.168.45.100/24
이 IP를 사용해 Windows에서 연결합니다.
Windows PowerShell에서 연결
ssh alok@192.168.45.100
첫 연결 시 다음과 같은 메시지가 표시됩니다:
Are you sure you want to continue connecting (yes/no)?
yes 를 입력해 VM의 SSH 지문을 신뢰합니다( known_hosts 에 저장됩니다).
Windows 공개 키를 Ubuntu에 복사
Windows PowerShell에는 ssh-copy-id 가 없으므로 한 줄 명령을 사용합니다:
type $env:USERPROFILE\.ssh\id_ed25519.pub |
ssh alok@192.168.45.100 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
이 명령은 Windows 공개 키를 VM의 ~/.ssh/authorized_keys 에 추가합니다.
비밀번호 없이 로그인 테스트
ssh alok@192.168.45.100
비밀번호 입력 없이 로그인되어야 합니다.
Ubuntu 측에서 인증된 키를 확인하려면:
cat ~/.ssh/authorized_keys
다음과 같은 항목이 보일 것입니다:
ssh-rsa ... (older key)
ssh-ed25519 ... alok@DESKTOP-381CHVR (your Windows key)
권한 보안 설정
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
SSH가 키를 받아들이려면 올바른 권한이 필요합니다.
SSH 설정 강화
먼저 원본 설정 파일을 백업합니다:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
파일을 편집합니다:
sudo vim /etc/ssh/sshd_config
다음 설정을 추가하거나 수정합니다:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
KbdInteractiveAuthentication no
UsePAM yes
PermitRootLogin no
AllowUsers alok
이 설정은 다음을 강제합니다:
- 키 기반 인증만 허용
- 비밀번호 로그인 차단
- 루트 로그인 비활성화
alok사용자만 SSH 사용 허용
변경 사항 적용
sudo systemctl restart ssh
강화된 설정 확인
Windows에서:
ssh alok@192.168.45.100
정상적으로 연결되어야 합니다.
Ubuntu에서 비밀번호 인증 설정을 확인하려면:
sudo sshd -T | grep -i passwordauthentication
예상 출력:
passwordauthentication no
SSH 상태 요약
| 기능 | 상태 |
|---|---|
| SSH 접근 | ✅ 활성화 |
| 비밀번호 로그인 | ❌ 비활성화 |
| 키 기반 로그인 | ✅ 활성화 |
| 루트 로그인 | ❌ 비활성화 |
사용자 제한 (alok) | ✅ 적용 |
| 알려진 호스트 검증 | ✅ 신뢰 |
| 부팅 시 SSH 자동 시작 | ✅ 활성화 |
이제 Ubuntu VM에 Windows에서 안전하게 접근할 수 있는 프로덕션 수준의 DevOps 스타일 SSH 설정이 완료되었습니다. 💪