VMAccess 확장을 사용하여 Linux VM 암호 또는 SSH 키 재설정, SSH 구성 수정, 디스크 일관성 검사를 수행하는 방법

중요

클래식 VM은 2023년 3월 1일에 사용 중지됩니다.

ASM의 IaaS 리소스를 사용하는 경우 2023년 3월 1일까지 마이그레이션을 완료하세요. Azure Resource Manager의 다양한 기능 향상을 활용하려면 빨리 전환하는 것이 좋습니다.

자세한 내용은 2023년 3월 1일까지 IaaS 리소스를 Azure Resource Manager로 마이그레이션을 참조하세요.

암호를 잊었거나 SSH(보안 셸) 키가 맞지 않거나 SSH 구성에 문제가 생겨서 Azure에서 Linux 가상 머신에 연결할 수 없는 경우 VMAccessForLinux 확장과 Azure CLI를 사용하여 암호 또는 SSH 키를 재설정하고 SSH 구성을 수정하며 디스크 일관성을 검사합니다.

참고

Azure에는 리소스를 만들고 사용하기 위한 Resource Manager 및 클래식이라는 두 가지 배포 모델이 있습니다. 이 문서에서는 클래식 배포 모델 사용에 대해 설명합니다. 새로운 배포는 대부분 리소스 관리자 모델을 사용하는 것이 좋습니다. Resource Manager 모델을 사용하여 이러한 단계를 수행하는 방법을 알아봅니다.

Azure CLI에서는 명령줄 인터페이스(Bash, 터미널, 명령 프롬프트)에서 azure vm extension set 명령을 사용하여 명령에 액세스할 수 있습니다. 자세한 확장 사용을 보려면 azure help vm extension set 를 실행합니다.

Azure CLI를 사용하여, 다음 작업을 수행할 수 있습니다.

필수 선행 작업

다음을 수행해야 합니다.

  • Azure CLI를 설치하고 구독에 연결해야만 계정과 연결된 Azure 리소스를 사용할 수 있습니다.
  • 명령 프롬프트에서 다음을 입력하여 클래식 배포 모델에 대한 올바른 모드를 설정합니다.
        azure config mode asm
    
  • 새 암호 또는 SSH 키 집합(둘 중 하나를 다시 설정하려는 경우). SSH 구성을 다시 설정하려는 경우에는 필요 없습니다.

암호를 재설정합니다.

  1. 다음 줄을 사용하여 PrivateConf.json이라는 파일을 로컬 컴퓨터에 만듭니다. myUserNamemyP@ssW0rd 사용자 이름 및 암호로 바꾸고 만료 날짜를 설정합니다.

        {
        "username":"myUserName",
        "password":"myP@ssW0rd",
        "expiration":"2020-01-01"
        }
    
  2. 이 명령을 실행하여 myVM에 대한 가상 머신의 이름을 대체합니다

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* –-private-config-path PrivateConf.json
    

SSH 키 재설정

  1. 이 콘텐츠를 포함한 PrivateConf.json이라는 파일을 만듭니다. myUserNamemySSHKey 값을 자신의 정보로 바꿉니다.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey"
        }
    
  2. 이 명령을 실행하여 myVM에 대한 가상 머신의 이름을 대체합니다

     azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

암호 및 SSH 키 재설정

  1. 이 콘텐츠를 포함한 PrivateConf.json이라는 파일을 만듭니다. myUserName, mySSHKeymyP@ssW0rd 값을 사용자 고유의 정보로 바꿉니다.

        {
        "username":"myUserName",
        "ssh_key":"mySSHKey",
        "password":"myP@ssW0rd"
        }
    
  2. 이 명령을 실행하여 myVM에 대한 가상 머신의 이름을 대체합니다

        azure vm extension set MyVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

새 sudo 사용자 계정 만들기

사용자 이름을 잊은 경우 sudo 기관으로 새 레코드를 만들려면 VMAccess를 사용할 수 있습니다. 이 경우 기존 사용자 이름 및 암호는 수정되지 않습니다.

암호 액세스가 있는 새 sudo 사용자를 만들려면, 암호 재설정 에서 스크립트를 사용하여 새 사용자 이름을 지정합니다.

SSH 키 액세스가 있는 새 sudo 사용자를 만들려면, SSH 키 재설정 에서 스크립트를 사용하여 새 사용자 이름을 지정합니다.

암호 및 SSH 키 재설정 을 사용하여 암호 및 SSH 키 액세스 모두가 있는 새 사용자를 만듭니다.

SSH 구성 다시 설정

SSH 구성이 원치 않는 상태인 경우, VM에 대한 액세스도 손실될 수 있습니다. 구성을 기본 상태로 다시 설정하려면 VMAccess 확장을 사용할 수 있습니다. 이렇게 하려면 "reset_ssh" 키를 "True"로 설정하기만 하면 됩니다. 확장에서 SSH 서버를 다시 시작하고, VM에서 SSH 포트를 연 다음, SSH 구성을 기본값으로 다시 설정합니다. 사용자 계정(이름, 암호 또는 SSH 키)은 변경되지 않습니다.

참고

재설정된 SSH 구성 파일은 /etc/ssh/sshd_config에 있습니다.

  1. 이 콘텐츠를 포함한 PrivateConf.json이라는 파일을 만듭니다.

        {
        "reset_ssh":"True"
        }
    
  2. 이 명령을 실행하여 myVM에 대한 가상 머신의 이름을 대체합니다

     	azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

사용자 삭제

VM에 직접 로그인하지 않고 사용자 계정을 삭제하려면 이 스크립트를 사용합니다.

  1. 이 콘텐츠를 사용하여 PrivateConf.json이라는 파일을 만들고 제거할 사용자 이름을 removeUserName로 대체합니다.

        {
        "remove_user":"removeUserName"
        }
    
  2. 이 명령을 실행하여 myVM에 대한 가상 머신의 이름을 대체합니다

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --private-config-path PrivateConf.json
    

VMAccess 확장 상태 표시

VMAccess 확장 상태를 표시하려면, 다음 명령을 실행합니다.

        azure vm extension get

추가된 디스크의 일관성 검사

Linux 가상 머신의 모든 디스크에 fsck를 실행하려면, 다음을 수행해야 합니다.

  1. 이 콘텐츠를 포함하는 PublicConf.json 파일을 만듭니다. 디스크 검사는 부울 함수를 통해 가상 머신에 연결되어 있는 디스크를 검사할지 여부를 결정합니다.

        {   
        "check_disk": "true"
        }
    
  2. myVM에 가상 머신 이름을 지정하여 이 명령을 실행합니다.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json 
    

디스크 복구

탑재가 되지 않거나 탑재 구성 오류가 있는 디스크를 복구하려면, VMAccess 확장을 사용하여 Linux 가상 머신의 탑재 구성을 재설정합니다. myDisk에 디스크 이름을 입력합니다.

  1. 이 콘텐츠를 포함하는 PublicConf.json 파일을 만듭니다.

        {
        "repair_disk":"true",
        "disk_name":"myDisk"
        }
    
  2. myVM에 가상 머신 이름을 지정하여 이 명령을 실행합니다.

        azure vm extension set myVM VMAccessForLinux Microsoft.OSTCExtensions 1.* --public-config-path PublicConf.json
    

다음 단계

  • Azure PowerShell cmdlet 또는 Azure Resource Manager 템플릿을 사용하여 암호 또는 SSH 키 재설정, SSH 구성 수정, 디스크 일관성 검사를 수행하려면 GitHub의 VMAccess 확장 문서를 참조하세요.
  • 또한 Azure 포털 을 사용하여 클래식 배포 모델에서 배포된 Linux VM의 암호 또는 SSH 키를 재설정할 수 있습니다. 현재는 이 포털을 사용하여 Resource Manager 배포 모델에 배포된 Linux VM에 대해 이 작업을 수행할 수 없습니다.
  • Azure 가상 머신에 VM 확장을 사용하는 방법에 대한 자세한 내용은 가상 머신 확장 및 기능 정보 를 참조하세요.