Erro de chave SSH, sudo funciona bem -- acos campo com terminal campo com ssh campo com unix camp apple Relacionado O problema

SSH Key Error, sudo works fine


3
vote

problema

português

Quando tento ssh ( using ssh user@server.com ) no meu servidor em casa a partir da rede local ou de fora, recebo o seguinte erro: Digite a descrição da imagem aqui

Mas se eu usar sudo ssh user@server.com , ele funciona sem problemas: Digite a descrição da imagem aqui

Tenho certeza de que só preciso colocar algum tipo de chave naquele /Users/mattlove/.ssh/known_hosts diretório, mas não tenho certeza de como ou por quê.

Qualquer um de vocês UNIX Buffs lá fora, tem uma resposta?

e d i t:

Aqui estão os resultados da execução ls -l ~/.ssh/known_hosts como solicitado por @ lo -cwolff

Digite a descrição da imagem aqui

english

When I try to ssh (using ssh user@server.com) into my server at home from either the local network or from outside, I get the following error: enter image description here

But if I use sudo ssh user@server.com, it works with no problems: enter image description here

I'm sure I just need to place some kind of key in that /Users/mattlove/.ssh/known_hosts directory, but I'm not sure how or why.

Any of you UNIX buffs out there have an answer?

E D I T :

Here are the results of running ls -l ~/.ssh/known_hosts as requested by @Loxc3xafcWolff

enter image description here

           
     
     

Lista de respostas

10
 
vote
vote
Melhor resposta
 

Na primeira vez que você se conecta a um servidor, você será solicitado a aceitar a impressão digital para o host que está se conectando. A impressão digital é uma combinação de uma assinatura digital, o nome do host e o endereço IP do servidor. Quando você aceita, a impressão digital é salva em ~/.ssh/known_hosts como sendo um host "confiável".

Por algum motivo, a impressão digital do servidor foi alterada desde a primeira vez que você conectou. Isso pode ser porque não é o servidor que você espera que seja, por exemplo, quando sua solicitação está sendo interceptada e redirecionada para um servidor diferente. Daí o aviso de segurança. A explicação também pode ser menos maliciosa, por exemplo, quando o servidor foi substituído / reinstalado sem restaurar sua assinatura digital anterior ou quando o endereço IP foi alterado.

Se apesar do aviso de segurança, você ainda confia no servidor que está se conectando, você deve abrir ~/.ssh/known_hosts e procure a linha começando com o endereço do servidor que você está se conectando. Remova a linha inteira e salve suas alterações e reconecte-se ao servidor. Na primeira vez que você se conecta, deve-se novamente solicitar que você aceite a impressão digital atualizada, após o qual você não deve ter mais problemas se conectando a esse host.

A razão pela qual funcionaria com sudo é porque nessas condições você está executando como um usuário diferente (raiz), e cada usuário tem seu próprio arquivo conhecido_hosts (para root isso está localizado em /private/var/root/.ssh/known_hosts ). A raiz pode nunca ter gravado a impressão digital anterior daquele host e, portanto, não tem como compará-lo ao atual, e nenhum motivo para desconfiar do servidor.

 

The first time you connect to a server, you are prompted to accept the fingerprint for the host you are connecting to. The fingerprint is a combination of a digital signature, the host name and the IP address of the server. When you do accept, the fingerprint is saved in ~/.ssh/known_hosts as being a "trusted" host.

For some reason, the server's fingerprint has changed since the first time you connected to it. This may be because it is not the server you expect it to be, for example when your request is being intercepted and redirected to a different server. Hence the security warning. The explanation might also be less malicious, for example when the server was replaced/reinstalled without restoring it's previous digital signature, or when the IP address has changed.

If despite the security warning, you still trust the server you are connecting to, you should open ~/.ssh/known_hosts and look for the line starting with the address of the server you are connecting to. Remove the entire line and save your changes, then reconnect to the server. The first time you connect, it should again prompt you to accept the updated fingerprint, after which you should have no more troubles connecting to that host.

The reason why it would work with sudo is because in those conditions you are running it as a different user (root), and each user has it's own known_hosts file (for root this is located at /private/var/root/.ssh/known_hosts). root may have never recorded the previous fingerprint of that host, and therefor has no way of comparing it to the current one, and no reason to distrust the server.

 
 
 
 
5
 
vote

O arquivo known_hosts contém as teclas dos hosts que você conectou anteriormente e verificou que você verificou a assinatura da chave está correta.

No seu caso, uma das duas coisas aconteceu,

    .
  1. A chave no servidor foi alterada desde que você a aprovou para sua conta, mas não desde que foi aprovada para o ABCDEFGHIJKLMABCDEFGHIJKLMN1 Conta.
  2. Existe um invasor interceptar comunicações entre você e o servidor, e você aprovou sua chave para a conta ABCDEFGHIJKLMNABCDEFGHIJKLMN2 e ter a chave correta na sua conta.

Muito provavelmente é o caso 1 - Ataques man-in-the-middle no SSH, enquanto possível, são relativamente raros. O aviso está lá para alertá-lo ao fato de que alguém pode estar interceptando suas comunicações, mesmo que as chances disso são bastante baixas.

Para resolver isso, abra o arquivo abcdefghgjklmnabcdefghijklmn3 e remova a entrada para o host em questão. Entre em contato com o administrador do sistema para o anfitrião e peça-lhes para a 'Impressão digital de chave do host'. Faça sua conexão novamente, verifique se a impressão digital corresponde ao que você obtém do administrador do sistema e aprova a chave.

Se a impressão digital não corresponder ao fornecida pelo administrador do sistema do host remoto, não aprovar a chave !!

 

The known_hosts file contains the keys from hosts which you have previously connected to, and have verified that you have checked the key signature is correct.

In your case, one of two things has happened,

  1. The key on the server has changed since you approved it for your account, but not since it was approved for the root account.
  2. There is an attacker intercepting communications between you and the server, and you have approved their key for the root account and have the correct key in your account.

Most likely is case 1 - man-in-the-middle attacks on SSH, while possible, are relatively rare. The warning is there to alert you to the fact that someone may be intercepting you communications, even though the chances of this are quite low.

To resolve this, open the known_hosts file and remove the entry for the host in question. Contact the System Administrator for the host and ask them for the 'Host Key Fingerprint'. Make your connection again, verify that the fingerprint matches the one you get from the System Administrator and approve the key.

If the fingerprint does not match the one supplied by the System Administrator of the remote host, DO NOT approve the key!!

 
 
 
 

Perguntas relacionadas

2  Quais ferramentas existem para recuperar um arquivo que eu mudo usando o CPP no terminal?  ( What tools exist to recover a file i clobbered using cpp in terminal ) 
Eu acidentalmente digitado cpp Scriptname.py DestinationDirectory , com a intenção de copiar o script Python para a pasta. Eu percebi depois que eu deveria...

0  Como posso adicionar um endereço de e-mail da Apple a um cliente de e-mail, como a evolução?  ( How can i add an apple email address to an email client such as evolution ) 
Eu de alguma forma acabei com um endereço de e-mail da Apple. Como posso usar o e-mail '@ me.com' no meu cliente de e-mail (evolução no debian)? ...

0  Não é possível inicializar para MacOS depois de redimensionar a partição MacOS  ( Cant boot to macos anymore after resizizing macos partition ) 
Depois de instalar o Ubuntu como um segundo sistema no meu MacBook após este tutorial https : //www.maketechease.com/install-dual-boot-ubuntu-mac/ Tudo esta...

26  Como posso inspecionar as variáveis ​​de ambiente de um processo de execução?  ( How can i inspect the environment variables of a running process ) 
Existe algum equivalente (CLI ou GUI) para o recurso ABCDefGHIJKLMNABCDefGHIJKLMN0 ...

0  Obtendo .Profile para executar após .bash_login  ( Getting profile to execute after bash login ) 
Quando eu instalei o RVM, descobri que criou .bash_login com este: [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a s...

0  Como esse script AWK funciona?  ( How does this awk script work ) 
Eu tenho 2 arquivos de dados contendo uma coluna. Eu quero fazer outro arquivo de dados mesclando as duas colunas. Eu tenho a linha de comando na concha, mas ...

5  Por que "echo" "em / etc / bashrc causa o scp?  ( Why does echo in etc bashrc cause scp to hang ) 
Eu estou copiando diretórios de uma máquina de Snow Leopard para uma máquina de tigre usando scp -r e por algum motivo, parece que a linha final do alvo (ti...

3  Números de saída de teclas de seta Ao conectar o hóspede do Ubuntu Virtualbox no host Windows 7 via conexão de área de trabalho remota  ( Arrow keys output numbers when connecting to ubuntu virtualbox guest on windows ) 
Eu tenho um convidado Ubuntu em execução no host do Windows 7. Eu então queria me conectar remotamente do meu MacBook Air na cama, e assim acessei a VM via cl...

3  MacBook Pro preso no loop de inicialização - modo de recuperação e modo de segurança não funcionando  ( Macbook pro stuck in boot loop recovery mode and safe mode not working ) 
Eu tenho um MacBook Pro 2015 (8 GB RAM, executando MacOS Mojave) preso na tela de carregamento com o logotipo da Apple e a barra de carregamento 100% concluíd...

3  Abrindo uma imagem de disco OS X com um agente de lançamento enquanto a exibição está dormindo  ( Opening an os x disk image with a launchd agent while the display is sleeping ) 
Eu criei um abcdefghijklmnlaunchd agente que abre uma imagem de disco esparsa protegida por senha (e monta seu volume solitário) diariamente às 2h45 em prep...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.