O cliente SSH não encontra mais a chave privada na declaração IdentityFile

0

Estou recebendo este erro ao executar ssh myhost2 :

no such identity: /home/myusername/.ssh/myhost2_rsa: No such file or directory

Os detalhes

No Ubuntu 16.04.4 LTS, configurei recentemente meu cliente SSH para conectar-se a vários servidores usando chaves privadas diferentes.

Meu arquivo ~/.ssh/config tem várias declarações de host, cada uma com um IdentityFile diferente, conforme abaixo:

Host myhost1
        HostName myhost1.com
        user myhost1user
        IdentityFile ~/.ssh/myhost1_rsa

Host myhost2
        HostName myhost2.com
        user myhost2user
        IdentityFile ~/.ssh/myhost2_rsa

Host myhost3
        HostName myhost3.com

Host myhost4
        HostName xxx.xxx.xxx.xx
        user myhost4user
        IdentityFile ~/.ssh/myhost4_rsa

Quando os configurei há alguns dias, todos estavam funcionando corretamente. Em outras palavras, eu poderia usar um comando como este:

ssh myhost2

... e a conexão SSH funcionaria como esperado.

Hoje, usando o mesmo comando, resulta neste erro:

no such identity: /home/myusername/.ssh/myhost2_rsa: No such file or directory

Convencidos de que se trata de um problema de permissões de arquivo, verifiquei e verifiquei novamente se não há permissões de grupo na minha pasta pessoal nem na minha pasta .ssh.

  • Minha pasta ~ / .ssh tem 700 permissões
  • Minha pasta / home / myusername tem 700 permissões

E eu verifiquei e verifiquei novamente os arquivos da chave privada:

  • Cada um dos meus arquivos de chave privada ( por exemplo, myhost2_rsa ) tem 600 permissões
  • Cada um dos meus arquivos de chave privada é de propriedade da minha conta de usuário (obrigado por perguntar sobre isso, @steeldriver). Aqui está a saída de namei -l /home/myusername/.ssh/myhost2_rsa :

f: /home/myusername/.ssh/myhost2_rsa drwxr-xr-x root root / drwxr-xr-x root root home drwx------ myusername myusername myusername drwx------ myusername myusername .ssh -rw------- myusername myusername myhost2_rsa

Desde que estes estavam trabalhando há alguns dias, estou entorpecido. Esta ainda é uma configuração recente do Ubuntu para mim, então adicionei software e fiz ajustes na configuração, mas não consigo pensar em nada que possa ter afetado as permissões de SSH ou minha pasta pessoal.

Além disso, ainda posso usar o SSH nesses mesmos hosts da minha máquina Win7 usando o Putty usando as mesmas chaves privadas.

Alguma idéia sobre o que mais devo verificar?

    
por TheDavidJohnson 28.03.2018 / 16:47

1 resposta

2

As permissões em ~ / .ssh / config também devem ser definidas para 600.

Uma vez que eu configurei estas permissões com chmod 600 ~/.ssh/config , o comportamento usual começou a funcionar novamente ( por exemplo o comando em execução ssh myhost4 resultou em uma conexão SSH bem-sucedida ao servidor sem erro).

    
por TheDavidJohnson 29.03.2018 / 02:28