将Set-AzureRmVMOSDisk与linux和attach一起使用时,无法登录到新创建的ARM VM

将Set-AzureRmVMOSDisk与linux和attach一起使用时,无法登录到新创建的ARM VM,azure,bitnami,azure-powershell,azure-resource-manager,Azure,Bitnami,Azure Powershell,Azure Resource Manager,我正试图为运行Ubuntu的正常工作的ARM虚拟机开发一个克隆工作流。 此VM是从市场中的Bitnami LAMP图像创建的 我正在尝试使用-CreateOption附加选项而不是fromImage,据我所知,它应该可以工作。。。我知道还有另外一个选项:deprovision->capture->CreateOption fromImage,但也有问题。我遵循的工作流程符合许多描述,我不理解这个登录问题,希望我错过了一个简单的步骤 我已经在不同的源ARM VM上尝试了两次此工作流,得到了非常相同

我正试图为运行Ubuntu的正常工作的ARM虚拟机开发一个克隆工作流。 此VM是从市场中的Bitnami LAMP图像创建的

我正在尝试使用-CreateOption附加选项而不是fromImage,据我所知,它应该可以工作。。。我知道还有另外一个选项:deprovision->capture->CreateOption fromImage,但也有问题。我遵循的工作流程符合许多描述,我不理解这个登录问题,希望我错过了一个简单的步骤

我已经在不同的源ARM VM上尝试了两次此工作流,得到了非常相同的结果:新机器似乎完全运行,但我无法使用已知的用户名密码登录新机器(通过SSH)

诊断:

  • 甚至web服务器和mysql也能在新机器中正常工作,因为在新机器启动后,我可以查看它所服务的网站
  • 在下面的脚本中,我省略了入站规则的配置,但是我成功地允许了HTTP(见上文)和SSH。SSH连接请求密码,并将其评估为错误
以下是我所做的:

  • 停止功能齐全的ARM VM(未运行waagent-取消提供)
  • 已将OS vhd复制到新的.vhd blob(成功,复制脚本超出主题)
  • 然后完全成功地运行了以下脚本:


我看了一下,bitnami中似乎有什么东西阻止它登录

我没有花太多时间去尝试弄清楚所有东西是如何连接的,但是那里肯定有代码来检查何时从映像部署了新的VM,因为这样做时它总是会重新生成sshd密钥

所有预期的文件都是相同的(我在普通ubuntu框和bitnami框之间执行了一个差异)

它产生的错误是

Mar  8 20:09:19 lamp sshd[2511]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=13.69.83.238  user=ubuntu
Mar  8 20:09:21 lamp sshd[2511]: Failed password for ubuntu from 13.69.83.238 port 32991 ssh2
然而/etc/shadow为我使用的密码提供了正确的salt/hash。具有更多Linux/bitnami经验的人可能能够指出其中的错误。但一开始,它应该是有效的

这与普通ubuntu映像上的预期完全一样,因此从头开始构建新机器可能更简单


否则你可能会在bitnami论坛上得到更好的答案。(很可能只是一个配置设置)

我在尝试capture->create fromImage(CCFI)时意外地得到了一些诊断结果(不要与copy->attach(CA)混淆这个问题是关于什么的)

如果您不关心细节,请跳到最后,查看“目前已知的最简单的解决方法”

诊断:

  • 如果新创建的marketplace bitnami LAMP ARM VM遇到CA,则原始管理员用户无法再登录

  • 如果新创建的marketplace bitnami LAMP ARM VM出现CCFI,则原始管理员用户可以登录,并且新定义的凭据(admin2)也可以登录

  • 如果通过CCFI创建的VM遇到CA,则原始管理员用户可以登录,但admin2(在以前的CCFI中创建)无法登录

在这个实验之后,我能够登录到一台CA-d机器上,这台机器以前是由原始管理员用户CCFI-d完成的

检查/etc/shadow时,发现admin2在密码哈希之前被禁用:(!sign)。唯一的问题是,到底是哪个smartie做了这件显然是不想要的、未用尽的事情。我们有两个嫌疑犯和三个场景:

  • 一些bitnami自定义脚本
  • waagent
  • waagent被某些bitnami自定义操作或错误配置误导
虽然我不确定,但我的猜测是“纯waagent”,第二个是“waagent误导…”

原因如下: 我检查了/var/lib/waagent/ovf-env.xml文件,发现有一个

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

如果您在任何机器上执行此操作,包括virgin创建的然后是定制的marketplace机器,那么您可以免费对其进行CA。当然,您不能使用dummyadmin登录新机器,但您可以使用admin登录。

我刚刚尝试对bitnami映像运行此操作,但遇到了一个错误“从市场映像创建虚拟机需要请求中的计划信息”您是否遇到过此问题?没有。不过,我只是孤立地诊断了该情况,但我认为您使用的是-fromImage,而不是-attach。我下面的脚本运行得很好,虚拟机运行得很好,“只是”登录信誉不知怎么被破坏了。您提到的错误消息是trinig从捕获(未复制)的映像创建VM时收到的。请参阅此处描述的案例和一些附加诊断:Michael,非常感谢。请不要在这上面花费太多时间,我偶然得到了一些诊断结果,以及一些关于这方面的想法。我将很快发布“答案”。@g.pickardou我会很好奇地阅读它我喜欢戳这种东西,这是一种很好的做法,能让我更快地为那些付账单的人找到答案!(这似乎让他们很高兴——而且更有可能寄支票!)这是一个很好的调查!一种解决方法可能是使用自定义脚本重新启用用户。此外,我刚刚通读了脚本,在他们的脚本中看不到任何可能更改密码的内容(有一个硬编码的根禁用)任何人都在做这个禁用运动,它可以通过添加第二个dummyadmin来愚弄。。。bitnami读取waagent文件的可能性非常小,因此,如果只添加dummyamin(最后一个用户将在阴影文件中),并且不更改ovf-env.xml文件,则可以进行明确诊断。然后CA。如果dummyuser将被禁用,那么bitnami,如果原始管理员禁用,那么waagent。
<ns1:UserPassword>REDACTED</ns1:UserPassword>
sudo adduser dummyadmin
sudo adduser dummyadmin sudo
edit the /var/lib/waagent/ovf-env.xml file and replace admin to dummyadmin