AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 39733
Accepted
Vorleak Chy
Vorleak Chy
Asked: 2009-07-13 23:38:23 +0800 CST2009-07-13 23:38:23 +0800 CST 2009-07-13 23:38:23 +0800 CST

Permissão negada (chave pública). SSH do Ubuntu local para o servidor Amazon EC2

  • 772

Eu tenho uma instância de um aplicativo em execução na nuvem em uma instância do Amazon EC2 e preciso me conectar a ela do meu Ubuntu local. Funciona bem em um ubuntu local e também em um laptop. Recebi esta mensagem, Permission denied (publickey).ao tentar SSH para EC2 de um Ubuntu local diferente .

Estou pensando que pode haver problemas com as configurações de segurança no Amazon EC2, que tem acesso IP limitado a uma instância; ou talvez um certificado precise ser regenerado.

Alguém conhece uma solução para o erro Permissão negada?

linux amazon-ec2 ssh
  • 17 17 respostas
  • 712645 Views

17 respostas

  • Voted
  1. Best Answer
    Greg Hewgill
    2009-07-13T23:44:01+08:002009-07-13T23:44:01+08:00

    A primeira coisa a fazer nessa situação é usar a -vopção para ssh, para que você possa ver quais tipos de autenticação são tentados e qual é o resultado. Isso ajuda a esclarecer a situação?

    Em sua atualização para sua pergunta, você menciona "em outro Ubuntu local". Você copiou a chave privada ssh para a outra máquina?

    • 148
  2. Kjetil Joergensen
    2011-01-06T06:38:40+08:002011-01-06T06:38:40+08:00

    Como não foi explicitamente mencionado, o sshd é, por padrão, muito rigoroso nas permissões dos authorized_keysarquivos. Portanto, se authorized_keysfor gravável para qualquer pessoa que não seja o usuário ou puder ser gravável por qualquer pessoa que não seja o usuário, ele se recusará a autenticar (a menos que sshd esteja configurado com StrictModes no)

    O que quero dizer com "pode ​​ser gravável" é que, se qualquer um dos diretórios pai for gravável para qualquer pessoa que não seja o usuário, os usuários autorizados a modificar esses diretórios podem começar a modificar as permissões de forma que possam modificar/substituir as chaves_autorizadas.

    Além disso, se o /home/username/.sshdiretório não for de propriedade do usuário e, portanto, o usuário não tiver permissão para ler a chave, você poderá ter problemas:

    drwxr-xr-x 7 jane jane 4096 Jan 22 02:10 /home/jane
    drwx------ 2 root root 4096 Jan 22 03:28 /home/jane/.ssh
    

    Observe que jane não possui o .ssharquivo. Corrija isso através

    chown -R jane:jane /home/jane/.ssh
    

    Esses tipos de problemas de permissão do sistema de arquivos não aparecerão com ssh -v, e eles nem aparecerão nos logs sshd (!) até que você defina o nível de log como DEBUG.

    • Editar /etc/ssh/sshd_config. Você quer uma linha que leia LogLevel DEBUGem algum lugar. Recarregue o servidor SSH usando o mecanismo fornecido pela distribuição. ( service sshd reloadno RHEL/CentOS/Scientific.) Um recarregamento normal não irá eliminar as sessões existentes.
    • Tente autenticar novamente.
    • Descubra para onde vão os logs do seu recurso de autenticação e leia-os. (IIRC, /var/log/auth.logem distribuições baseadas em Debian; /var/log/secureem RHEL/CentOS/Scientific.)

    Muito mais fácil descobrir o que está errado com a saída de depuração, que inclui erros de permissão do sistema de arquivos. Lembre-se de reverter a alteração para /etc/ssh/sshd_configquando terminar!

    • 81
  3. pkmk
    2010-04-02T13:51:49+08:002010-04-02T13:51:49+08:00

    Recebi este erro, porque esqueci de adicionar a -lopção. Meu nome de usuário local não era o mesmo do sistema remoto.

    Isso não responde sua pergunta, mas cheguei aqui procurando uma resposta para o meu problema.

    • 38
  4. user60587
    2010-11-18T08:29:56+08:002010-11-18T08:29:56+08:00

    Recebi esta mensagem em uma nova instância baseada na AMI do Ubuntu. Eu estava usando a opção -i para fornecer o PEM, mas ainda estava mostrando a "Permissão negada (chave pública)".

    Meu problema era que eu não estava usando o usuário correto. Ao executar o ssh com ubuntu@ec2... funcionou normalmente.

    • 20
  5. Znarkus
    2011-02-02T06:07:18+08:002011-02-02T06:07:18+08:00

    Algo que é mais fácil de ler do que ssh -v(na minha opinião, claro), é tail -f /var/log/auth.log. Isso deve ser executado no servidor ao qual você está tentando se conectar, enquanto tenta se conectar. Ele mostrará erros em texto simples.

    Isso me ajudou a resolver meu problema:

    Usuário [username] de xx.yy.com não permitido porque nenhum dos grupos de usuários está listado em AllowGroups

    • 17
  6. Sudipta Chatterjee
    2010-12-10T22:15:33+08:002010-12-10T22:15:33+08:00

    Verifique seu arquivo /etc/ssh/sshd_config . Lá, encontre a linha que diz

    PasswordAuthentication no
    

    Essa linha precisa ser modificada para dizer sim em vez de não. Além disso, reinicie o servidor sshd posteriormente.

    sudo /etc/init.d/ssh restart
    
    • 11
  7. Eric Hammond
    2011-09-30T13:15:16+08:002011-09-30T13:15:16+08:00

    Talvez não seja relevante para o pôster atual, mas pode ajudar outras pessoas que encontrarem isso ao procurar respostas para situações semelhantes. Em vez de permitir que a Amazon gere o par de chaves ssh, recomendo fazer upload de sua própria chave ssh pública padrão padrão para a Amazon e especificá-la ao executar uma instância do EC2.

    Isso permite que você descarte a sintaxe do tipo "-i" no ssh, use rsync com opções padrão e também permite usar a mesma chave ssh em todas as regiões do EC2.

    Eu escrevi um artigo sobre esse processo aqui:

    Fazendo upload de chaves ssh pessoais para o Amazon EC2
    http://alestic.com/2010/10/ec2-ssh-keys

    • 7
  8. Patrick Collins
    2011-08-09T13:00:42+08:002011-08-09T13:00:42+08:00

    Estranhamente, meu problema acabou sendo que o servidor foi reiniciado e foi emitido um novo nome DNS. Eu estava usando o nome DNS antigo. Eu sei que isso parece estúpido, mas demorei um pouco para descobrir isso.

    • 5
  9. Naftuli Kay
    2011-02-17T10:50:21+08:002011-02-17T10:50:21+08:00

    Se você estiver tentando se conectar a um telefone CyanogenMod executando o Dropbear, execute as seguintes linhas para garantir que tudo esteja com as permissões corretas:

    chmod 600 /data/dropbear/.ssh/authorized_keys
    

    ou

    chmod 700 /data/dropbear/.ssh/authorized_keys # In case of MacOS X 10.6-10.8
    

    e

    chmod 755 /data/dropbear/ /data/dropbear/.ssh
    

    Isso corrigiu para mim, caso contrário, nada pode se conectar.

    • 2
  10. uichin
    2011-07-10T20:58:22+08:002011-07-10T20:58:22+08:00

    Se você estiver usando o CentOS 5, convém definir StrictModes noem /etc/ssh/sshd_config. Estou compartilhando o diretório /home usando NIS/NFS e configurei todas as permissões corretamente, mas sempre me solicitava a senha. Depois que eu configurei StrictModes no, o problema desapareceu!

    • 2

relate perguntas

  • Protegendo um novo servidor Ubuntu [fechado]

  • (Soft) RAID 6 no Ubuntu 7.10, devo migrar para 8.10?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Resolver o nome do host do endereço IP

    • 8 respostas
  • Marko Smith

    Como posso classificar a saída du -h por tamanho

    • 30 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    Qual é o utilitário de linha de comando no Windows para fazer uma pesquisa reversa de DNS?

    • 14 respostas
  • Marko Smith

    Como verificar se uma porta está bloqueada em uma máquina Windows?

    • 4 respostas
  • Marko Smith

    Qual porta devo abrir para permitir a área de trabalho remota?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    MikeN No Nginx, como posso reescrever todas as solicitações http para https mantendo o subdomínio? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 Qual é a diferença entre colchetes duplos e simples no bash? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch Como altero a senha da minha chave privada? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt Como funciona a sub-rede IPv4? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve