Linux에서 Set-AzureRmVMOSDisk를 사용하고 연결할 때 새로 만든 ARM VM에 로그인 할 수 없습니다.

g. 피카르 두

Ubuntu를 실행하는 제대로 작동하는 ARM VM에 대한 복제 워크 플로를 개발하려고합니다. 이 VM은 Marketplace의 Bitnami LAMP 이미지에서 생성되었습니다.

내 지식에 따라 fromImage 대신 -CreateOption 첨부 옵션 을 사용하려고합니다 ... 다른 옵션이 있다는 것을 알고 있습니다 : deprovision-> capture->-CreateOption fromImage,하지만 문제가있는 경우 만들기 참조 캡처 된 이미지의 새 ARM VM : URL의 Blob 이름은 '.vhd'확장 오류로 끝나야합니다. 내가 따라온 워크 플로는 많은 설명에 따른 것이며이 로그인 문제를 이해하지 못합니다. 간단한 단계를 놓쳤 으면합니다.

다른 소스 ARM VM 으로이 워크 플로를 두 번 시도한 결과 매우 동일한 결과를 얻었습니다. 새 컴퓨터가 완전히 작동하는 것처럼 보이지만 알려진 사용자 이름 암호로 새 컴퓨터에 로그인 할 수 없습니다 (SSH를 통해).

진단 :

  • 웹 서버와 mysql도 새 컴퓨터에서 제대로 작동합니다. 새 컴퓨터가 시작된 후에는 웹 사이트에서 제공하는 웹 사이트를 볼 수 있기 때문입니다.
  • 아래 스크립트에서 인바운드 규칙 구성을 생략했지만 HTTP (위 참조) 및 SSH를 성공적으로 허용했습니다. SSH는 암호를 묻고 연결하여 잘못된 것으로 평가합니다.

내가 한 일은 다음과 같습니다.

  • 완전히 작동하는 ARM VM을 중지했습니다 (waagent-프로비저닝 해제가 실행되지 않음).
  • OS vhd를 새 .vhd blob에 복사했습니다 (성공, 복사 스크립트가 주제를 벗어남).
  • 그런 다음 완전한 성공으로 다음 스크립트 실행했습니다 .

.

Login-AzureRmAccount
Select-AzureRmSubscription -SubscriptionName "Visual Studio Premium with MSDN"

# Create VM from an existing image

$location = "westeurope"
$vmSize = "Standard_DS2"

#Existing resource name parameters:
$rgName = "rg-wp"
$vnetName= "vn-wp" 
$stName = "mystorage"
#This vhd is a copy of a completely working ARM OS vhd: 
$vhdUri = "https://mystorage.blob.core.windows.net/vhds/disk-wp-01.vhd"

#Newly creatable resource names and other parameters
$vmName = "vm-wp-02"
$nicName="ni-wp-02"
$pipName="pip-wp-02"
$nsgName="nsg-wp-02"
$vhdName = "disk-wp-02"

$vnet = Get-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $rgName
$storageAccount = Get-AzureRmStorageAccount -AccountName $stName -ResourceGroupName $rgName 

$pip = New-AzureRmPublicIpAddress -Name $pipName -ResourceGroupName $rgName -Location $location -AllocationMethod Static -DomainNameLabel $pipName 
$nsg = New-AzureRmNetworkSecurityGroup -Name $nsgName -ResourceGroupName $rgName -Location $location
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id

# Configure VM: 
$vm = New-AzureRmVMConfig -vmName $vmName -vmSize $vmSize
$vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id
$vm = Set-AzureRmVMOSDisk -VM $vm -Name $vhdName -VhdUri $vhdUri -Linux -CreateOption attach

New-AzureRmVM -ResourceGroupName $rgName -Location $location -VM $vm
g. 피카르 두

실수로 capture-> create fromImage (CCFI)를 실험하는 동안 몇 가지 진단 결과를 얻었습니다 (이 질문에 대한 내용을 copy-> attach (CA)와 혼동하지 마십시오)

세부 사항에 관심이 없다면 맨 끝으로 이동하여 "현재 알려진 가장 간단한 해결 방법"을 참조하십시오.

진단 :

  • 새로 생성 된 마켓 플레이스 bitnami LAMP ARM VM에 CA가 발생하면 원래 관리자 는 더 이상 로그온 할 수 없습니다.

  • 새로 생성 된 마켓 플레이스 bitnami LAMP ARM VM에 CCFI가 발생하면 원래 관리자 로그온 할 수 있으며 새로 정의 된 자격 증명 (admin2)도 로그온 할 수 있습니다 .

  • CCFI를 통해 생성 된 VM에 CA가있는 경우 원래 관리자 사용자 로그온 할 수 있지만 admin2 (이전 CCFI에서 생성됨)는 로그온 할 수 없습니다.

이 실험 후 저는 원래 관리자 사용자로 이전에 CCFI-d였던 CA-d 컴퓨터에 로그온 할 수있었습니다.

/ etc / shadow를 조사한 결과 admin2가 비활성화 된 것으로 나타났습니다 : 암호 해시 이전에 (! 기호). 유일하게 질문이 남아 있습니다. 어떤 똑똑한 사람이 분명히 원치 않고 무한한 일을 했습니까? 두 명의 용의자와 세 가지 시나리오가 있습니다.

  • 비트 나미 커스텀 스크립트
  • Waagent
  • 일부 bitnami 사용자 지정 작업 또는 잘못된 구성으로 인해 waagent가 잘못 유도 됨

확실하지 않지만 내 추측은 "순수한 waagent"이고, 두 번째는 "waagent가 오도 된 ..."

그 이유는 다음과 같습니다. /var/lib/waagent/ovf-env.xml 파일을 조사한 결과

<ns1:UserPassword>REDACTED</ns1:UserPassword>

마지막으로 프로비저닝 된 사용자에 대한 항목입니다. 이것은 처녀 마켓 플레이스 머신의 경우 "admin"이고 CCFI-d 머신의 경우 admin2입니다. 머신에 CA가 발생하면이 사용자는 비활성화됩니다. 이 파일은 waagent에 속하기 때문에 내 추측 waagent는 어떻게 든 CA (왜 ???) 작업을 감지하고 처음 시작하면 사용자가 비활성화됩니다. 진단은이 이론과 정확히 일치합니다.

한 가지 확실한 점 :이 문제는 VM 자체 및 Linux 특정 비트 나미에서 발생하는 원치 않는 자동화입니다.

이 문제는 CA 도중 / 이후 항상 발생합니다. CA는 중요한 정보를 프로비저닝, 디 프로비저닝, 일반화, 삭제하는 것과 관련이 없기 때문에 이것은 분명히 원치 않는 것입니다.

해결 방법 :

시도 및 입증 : CCFI, 그러면 원하는 횟수만큼 CCFI-d VM을 CA에 연결할 수 있습니다.

현재 알려진 가장 간단한 해결 방법 :

시간이 걸리기 때문에 해결 방법에서 CCFI를 제거하는 것이 좋습니다. ( 일반화 된 원래 머신은 더 이상 의도적으로 시작할 수 없다는 얘기 가 아닙니다 (Azure).

모든 시스템에서 다음을 수행하십시오.

sudo adduser dummyadmin
sudo adduser dummyadmin sudo
edit the /var/lib/waagent/ovf-env.xml file and replace admin to dummyadmin

처음 생성 된 후 사용자 정의 된 마켓 플레이스 머신을 포함한 모든 머신 에서이 작업을 수행하면 자유롭게 CA를 수행 할 수 있습니다. 물론 dummyadmin으로 새 머신에 로그인 할 수 없지만 admin으로 로그인 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관