VM Linux do Azure capturado, criado a partir da imagem. Senha ou chave diferente para a nova VM: permissão negada?

2

Eu segui Como capturar uma imagem de uma máquina virtual em execução Linux para capturar uma imagem de VM, depois de instalar os pacotes que queria no Ubuntu 12.04 LTS. Eu desliguei a máquina seguindo um waagent -deprovision e capturei a imagem.

Quando criei a primeira VM (que posteriormente capturei), especifiquei um arquivo de certificado key1.pem .

Quando criei uma nova VM a partir da imagem Minhas imagens, especifiquei um arquivo de certificado key2.pem .

Quando tentei me conectar à nova VM, recebi a mensagem Permission denied (public key). . Para se conectar, usei ssh -i ssh/key2 -p myport [email protected] .

O que há de errado? Há etapas especiais necessárias para usar uma chave diferente da usada na imagem do modelo? Isso é um bug?

    
por mpbloch 28.01.2014 / 21:05

1 resposta

0

À primeira vista, parece que você está tentando implantar um arquivo .pem como a chave pública de um par de chaves SSH em ~azureuser/.ssh/authorized_keys , de modo que é possível usar a autenticação baseada em chave em vez do login ssh baseado em senha. caso?

Normalmente associo arquivos PEM a certificados SSL e você deve observar, nas palavras da página man, que os certificados SSH são um formato diferente e muito mais simples para os certificados X.509 usados em SSL . Portanto, usar certificados SSL em vez de chaves / certificados SSH falhará.

Normalmente, é criado um par de chaves SSH de uso privado com ssh-keygen -b 2048 -t rsa -f .ssh/mykey , que criará o arquivo de chave privada RSA de 2048 bits ~/.ssh/mykey e a chave pública correspondente ~/.ssh/mykey.pub . Essa chave pública precisa ser implantada em ~azureuser/.ssh/authorized_keys

Verifique se, no cliente e no servidor, o diretório ~/.ssh é acessível apenas ao proprietário com chmod 0700 e todos os arquivos de chave são legíveis apenas para o proprietário, por exemplo, chmod 0600 .

Além disso, o ssh de depuração pode ser feito a partir do cliente com ssh -v -i ssh/mykey -p myport [email protected] ou ainda mais verbosa com -vv .

    
por 06.02.2014 / 12:44