Quero usar minha instância do Amazon ec2, mas enfrentou o seguinte erro:
Permission denied (publickey).
Eu criei meu par de chaves e baixei o arquivo .pem .
Dado:
chmod 600 pem file.
Então, este comando
ssh -i /home/kashif/serverkey.pem [email protected]
Mas tem este erro:
Permission denied (publickey)
Além disso, como posso conectar-me ao filezilla para carregar / baixar arquivos?
amazon-web-services
ssh
amazon-ec2
Kashiftufail
fonte
fonte
admin
. Pelo menos para as versões 6.5 e 7.0.ec2-user
, certifique-se que você não está usandoec2_user
:)$HOME/.ssh/authorized_keys
arquivo.Respostas:
Essa mensagem de erro significa que você não conseguiu se autenticar.
Estes são os motivos comuns que podem causar isso:
ubuntu
é o nome de usuário para a distribuição AWS baseado ubuntu, mas em alguns outros éec2-user
(ouadmin
em alguns Debians, de acordo com a resposta de Bogdan Kulbida) (também pode serroot
,fedora
, veja abaixo)Observe que
1.
isso também acontecerá se você alterou o/home/<username>/.ssh/authorized_keys
arquivo na sua instância do EC2.Sobre
2.
, as informações sobre qual nome de usuário você deve usar geralmente estão ausentes na descrição da imagem da AMI. Mas você pode encontrar alguns na documentação do AWS EC2, ponto de referência4.
: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.htmlPor fim , esteja ciente de que existem muitos outros motivos pelos quais a autenticação falharia. O SSH geralmente é bastante explícito sobre o que deu errado, se você quiser adicionar a
-v
opção ao seu comando SSH e ler a saída, conforme explicado em muitas outras respostas a esta pergunta.fonte
Nesse caso, o problema surge do par de chaves perdido. Sobre isso:
Você pode seguir estas etapas:
Em geral, lembre-se de que você deve permitir que sua instância do EC2 aceite o tráfego SSH de entrada.
Para fazer isso, você deve criar uma regra específica para o grupo de segurança da sua instância do EC2. Você pode seguir estas etapas.
Espero que isso possa ajudar alguém como me ajudou.
fonte
Foi assim que resolvi o problema
fonte
Eu resolvi o problema colocando
sudo
antesMas a solução adequada é mudar a propriedade primeiro e depois conectar-se como um usuário normal, como Janus Troelsen disse abaixo. No meu caso, seria:
fonte
sudo chown wellington:wellington key.pem
.Tente usar
OU
fonte
Outra causa possível desse erro:
Quando o diretório inicial do usuário é gravável em grupo , o usuário não pode efetuar o login.
(Reproduzido na instância do Ubuntu.)
fonte
para a ubuntu 12.04 lts micro instance eu tive que definir o nome de usuário como opção
fonte
Você precisa executar as seguintes etapas:
cd <path to your .pem file>
chmod 400 <filename>.pem
ssh -i <filename>.pem ubuntu@<ipaddress.com>
Se o
ubuntu
usuário não estiver trabalhando, tente comec2-user
.fonte
Eu lutei com a mesma permissão negada erro aparentemente devido a
Na minha situação, a causa foi o arquivo de configuração ssh do usuário atual (~ / .ssh / config).
Usando o seguinte:
A saída inicial mostrou:
... muitas linhas de depuração cortadas aqui ...
A terceira linha acima é onde o problema real foi identificado; no entanto, procurei a mensagem de depuração quatro linhas abaixo (acima) e fui enganado. Não há um problema com a chave, mas eu a testei e comparei outras configurações.
Meu arquivo de configuração ssh do usuário redefine o host por meio de uma configuração global não intencional, como mostrado abaixo. A primeira linha do host não deveria ter sido um comentário.
Espero que alguém ache isso útil.
fonte
Esqueci de adicionar o nome de usuário (ubuntu) ao conectar minha instância do Ubuntu. Então eu tentei isso:
e a maneira correta era
fonte
Isso já aconteceu comigo várias vezes. Eu usei o Amazon Linux AMI 2013.09.2 e o Ubuntu Server 12.04.3 LTS, ambos no nível gratuito.
Toda vez que lancei uma instância, tenho permissão negada para aparecer. Não verifiquei isso, mas minha teoria é que o servidor não está completamente configurado antes de tentar fazer o ssh nele. Depois de algumas tentativas com permissão negada, espero alguns minutos e consigo me conectar. Se você está tendo esse problema, sugiro esperar cinco minutos e tentar novamente.
fonte
Aqui está um cenário frustrante possível que produz esse erro:
Se você estiver almoçando uma nova instância de uma AMI criada por outra instância (por exemplo, instância xyz), a nova instância aceitará apenas a mesma chave que a instância A usou. Isso é totalmente compreensível, mas fica confuso porque, durante o processo passo a passo da criação da nova instância, você é solicitado a selecionar ou criar uma chave (na última etapa) que não funcionará.
Independentemente da chave que você criar ou selecionar, apenas a chave que você estava usando, por exemplo, XYZ será aceita pela nova instância.
fonte
Eu lutei com isso por um tempo também até encontrar o seguinte:
Quando você usa isso no diretório do projeto, bingo-bango sem confusão, você está em
fonte
No meu próprio caso, fiz o seguinte:
Eu estava inicialmente usando
root@
parte e recebi este prompt:fonte
Estou no Windows com WinSCP . Ele funciona muito bem no File Explorer e no PuTTY SSH Shell para acessar meu Amazon EC2-VPC Linux. Não há nada a ver com
chmod pem file
o uso domyfile.ppk
convertido por PuTTYgen a partir do arquivo pem .fonte
A mesma coisa aconteceu comigo, mas tudo o que estava acontecendo é que a chave privada se perdeu do chaveiro na minha máquina local.
adicionou novamente a chave e, em seguida, o comando ssh para conectar retornou ao trabalho.
fonte
Este problema pode ser resolvido fazendo login na caixa Ubuntu usando o comando abaixo:
fonte
Por duas vezes, as teclas e a linha de comando ssh estão corretas (sei porque estou duplicando uma instância do Ubuntu 14.04 em funcionamento), mas não consegui ssh em uma nova instância, mesmo depois de esperar 5 minutos, conforme sugerido por Wade Anderson acima.
Eu tive que destruir e recriar a máquina. Isso aconteceu em duas ocasiões separadas. Como não consigo entrar inicialmente, não vejo o que há de errado.
Portanto, se você tiver esse problema, tente isso.
fonte
você deve verificar estas poucas coisas:
Eu tive o mesmo problema, e ele resolveu depois que mudei o nome de usuário para o ubuntu. Na documentação da AWS, o usuário ec2-user foi mencionado, mas de alguma forma não funciona para mim.
fonte
Minha chave privada foi configurada com permissão
400
e resultou em Permissão negada definindo-a como '644' me ajudou.key_load_private_type: permissão negada é o erro específico que eu estava recebendo
Solução:
Sudo chmod 644 <key.pem>
Nota: definido como 644 é obrigatório, ele não estava funcionando com 400
fonte
Quando você tenta fazer
ssh -i <.pem path> root@ec2-public-dns
Você recebe uma mensagem avisando que você deve usar o
ec2-user
.Please login as the user "ec2-user" rather than the user "root".
Então use
ssh -i <.pem path> ec2-user@ec2-public-dns
fonte
Eu tive o mesmo problema e é muito estranho. Se você acredita que está fazendo tudo de bom, siga estas instruções: Algumas vezes há confusão sobre o usuário para a instância do EC2 !! Algumas vezes você recebe ec2-user, ubuntu, centos etc. Então verifique seu nome de usuário para ver o machie !!
Faça o login com o usuário root
ssh -i yourkey.pem (400 permission) root@<ip>
Irá gerar um erro e fornecerá o nome de usuário disponível . depois faça o login com esse usuário.fonte
É uma coisa básica, mas sempre confirme qual usuário você está tentando fazer o login. Eu sou o meu caso foi apenas uma distração . Eu estava tentando usar um usuário root :
Mas foi outro usuário :
fonte
Eu tive o mesmo erro, mas situação diferente. para mim, aconteceu do nada depois de muito tempo, eu consegui ssh com sucesso no meu computador remoto por aí. depois de muita pesquisa na solução do meu problema, havia permissões de arquivo. é estranho, é claro, porque eu não alterei nenhuma permissão no meu computador ou na remota pertencente aos arquivos / diretórios do ssh. então, a partir do bom wiki do archlinux, aqui está:
Para a máquina local, faça o seguinte:
Para a máquina remota, faça o seguinte:
depois disso, meu ssh começou a trabalhar novamente sem a permissão negada (publickey).
fonte
Outro possível problema: ID de login incorreto
Marque 'Instruções de uso'
Todas as boas sugestões acima, mas o que encontrei foi que selecionei uma instância pré-criada. Após o início da instância, consulte as instruções de uso. Usei incorretamente o ID de login da chave privada quando nas instruções eu deveria usar 'bitnami' (por exemplo, bitnami @ domain -i key.pem)
fonte
Erro semelhante
Meu problema foi que a instância não foi iniciada corretamente devido a erro no script de execução na inicialização de
Step 3: Configure instance detail
emAdvanced details:
O que eu pensei ter inserido:
#include https://xxxx/bootstrap.sh
O que realmente entrou interrompe a configuração da instância
#include
https://xxxx/bootstrap.sh
Portanto, a chave pública no lado da instância não foi criada
fonte
É sensível a maiúsculas.
Errado: usuário SSH EC2 @ XXX.XX.XX.XX -i MyEC2KeyPair.pem
Correto: SSH ec2-user @ XXX.XX.XX.XX -i MyEC2KeyPair.pem
fonte
Consegui fazer o SSH de uma máquina, mas não de outra. Acontece que eu estava usando a chave privada errada.
A maneira como eu descobri isso foi obtendo a chave pública da minha chave privada, assim:
ssh-keygen -y -f ./myprivatekey.pem
O que saiu não correspondeu ao que estava na
~/.ssh/authorized_keys
instância do EC2.fonte
Todas as respostas mais bem classificadas acima são precisas e devem funcionar na maioria dos casos. No caso de eles não funcionarem como no meu caso, simplesmente me livrei do meu
~/.ssh/known_hosts
arquivo na máquina da qual estava tentando ssh e isso resolveu o problema para mim. Eu consegui me conectar depois.fonte
known_hosts
possa resolver um problema ao conectar-se ao servidor que alterou sua chave do host (embora seja uma abordagem ruim de qualquer maneira), tenho certeza de que não pode resolver o erro "Permissão negada (chave pública)" .