Azure Linux虚拟机捕获,从图像构build。 新VM的不同密码或密码:权限被拒绝?

我按照如何捕获运行Linux的虚拟机镜像来捕获虚拟机映像,在Ubuntu 12.04 LTS之上安装我想要的软件包之后。 我closures了机器后, waagent -deprovision和捕获的形象。

当我创build了第一个虚拟机(我后来捕获的)时,我指定了一个证书文件key1.pem

当我从“我的映像”映像创build新的虚拟机时,我指定了一个证书文件key2.pem

当我试图连接到新的虚拟机,我收到消息Permission denied (public key). 。 要连接,我使用了ssh -i ssh/key2 -p myport azure[email protected]

怎么了? 是否需要使用不同于模板图像中使用的其他键的特殊步骤? 这是一个错误?

乍一看,你似乎试图在~azureuser/.ssh/authorized_keys部署一个.pem文件作为SSH密钥对的~azureuser/.ssh/authorized_keys所以你可以使用基于密钥的身份validation,而不是基于密码的SSHlogin,是案子?

通常,我将PEM文件与SSL证书关联起来,并且您应该注意到,在手册页中, SSH证书与SSL中使用的X.509证书格式不同,也更简单 。 所以使用SSL证书而不是SSH密钥/证书将会失败。

通常使用ssh-keygen -b 2048 -t rsa -f .ssh/mykey创build一个私人使用的SSH密钥对,它将创build2048位的RSA私钥文件~/.ssh/mykey和相应的公钥~/.ssh/mykey.pub 。 该公钥需要部署到~azureuser/.ssh/authorized_keys

确保在你的客户端和服务器上~/.ssh目录只能由拥有chmod 0700的所有者访问,并且所有的密钥文件只对其所有者可读,即chmod 0600

进一步debuggingSSH可以从客户端使用ssh -v -i ssh/mykey -p myport [email protected]或甚至更加详细地使用-vv