6. SSH 접속 불가
Azure VM에 SSH 접근이 불가능할 경우 다양한 방법을 사용할 수 있다.
1. SSH 구성 재설정
- Azure Portal: Azure Portal에서 VM을 선택하고, '암호 재설정' 옵션을 통해 SSH 구성을 재설정할 수 있다.
- Azure CLI: 명령줄을 통해 SSH 구성을 재설정할 수 있다.
- Azure VMAccessForLinux 확장: 이 확장을 사용하여 SSH 구성 또는 사용자 자격 증명을 다시 설정할 수 있다.
2. 사용자 자격 증명 재설정:
- Azure Portal: '암호 재설정' 옵션을 통해 사용자 자격 증명을 재설정할 수 있다.
- Azure CLI: 명령줄을 통해 사용자 자격 증명을 재설정할 수 있다.
3. 네트워크 보안 그룹 규칙 확인:
- SSH 트래픽을 허용하는 네트워크 보안 그룹(NSG) 규칙이 있는지 확인한다. TCP 포트 22가 열려 있어야 한다.
4. Azure VM 직렬 콘솔 사용:
- 직렬 콘솔을 사용하여 SSH 구성에 관계없이 VM에 접근할 수 있다.
5. Azure Portal을 통한 명령 실행:
- Azure Portal에서 명령 실행 기능을 사용하여 기본 명령을 실행하고, 출력 결과를 포털에서 확인할 수 있다.
6. VM 상태 확인 및 재시작:
- VM의 상태를 확인하고, 필요시 VM을 재시작 또는 재배포 한다.
시나리오 1 - SSH 서비스 중지
1. Ubuntu Server VM을 만들고 PuTTY를 통해 접속
2. Ubuntu Server VM에서 sudo systemctl stop ssh
명령을 실행해 ssh 사용 중지.
3. Azure Portal에서 '실행 명령 스크립트' 기능을 통해 Linux 셸 스크립트를 실행.
4. 연결 성공.
시나리오 2 - SSH 포트 변경
1. /etc/ssh/sshd_config 접근 후 VIM으로 Port 22(SSH)에서 임의의 다른 포트로 변경.
2. 연결 안됨 확인
3. Azure Portal에서 '실행 명령 스크립트' 기능을 통해 Linux 셸 스크립트를 실행.
sudo sed -i 's/^Port .*/Port 22/' /etc/ssh/sshd_config
스트림 편집 도구를 이용하여 sshd_config 파일을 직접 수정(in-place)하여 Port 22로 변경한다.
4. '실행 명령 스크립트' 기능을 통해 SSH를 restart 시킨다.
sudo systemctl restart ssh
5. 연결 성공.
시나리오 3 - 방화벽이 차단하는 경우
1. VM에서 방화벽을 활성화 한다.
sudo ufw enable
2. 방화벽 설정을 확인한다.
sudo ufw status
만약 방화벽이 Port 22(tcp)를 차단하고 있지 않다면 sudo ufw deny 22/tcp
명령을 통해 방화벽에 규칙을 추가한다.
3. 연결 실패
4. '실행 명령 스크립트' 기능을 통해 22/tcp 포트를 허용한다.
5. 연결 성공.