Arquivos-chave SSH não encontrados após a alteração dos desktops

Arquivos-chave SSH não encontrados após a alteração dos desktops

Recentemente mudei minha área de trabalho do desktop padrão do Ubuntu (Unity) para o desktop Kubuntu. O que não consigo entender é por que isso causa erros na configuração do arquivo-chave SSH.

FE existe um usuário "usuário" no computador "host", onde uma das minhas chaves (o PK está em ~/.shh localmente) adicionada às chaves autorizadas. O que eu quero fazer é:

ssh user@host

Isso funcionou bem no Unity (se eu voltar para o Unity ainda funciona), mas quando faço login no desktop Kubuntu, a senha é solicitada.

Isso funciona bem em ambos os desktops:

ssh user@host -i ~/.ssh/key

Então, acho que o programa ssh não encontra meus arquivos-chave - mas por que a área de trabalho é importante e como posso corrigir isso?

A parte relevante do meu diretório .ssh local (ls -la):

drwx------  2 szaboadam szaboadam 4096 okt    7 16:32 .
-rw-------  1 szaboadam szaboadam 1675 okt    7 16:32 key
-rw-r--r--  1 szaboadam szaboadam  415 okt    7 16:32 key.pub

E do diretório .ssh do servidor:

drwx------ 2 git git 4096 Oct  7 16:33 .                                           
-rwx------ 1 git git  566 Oct  7 16:33 authorized_keys    

Estou usando o Ubuntu 14.04. Obrigado pela ajuda!

Responder1

É estranho que o comando funcione no Unity, porque normalmente as chaves são lidas, ~/.ssh/id_*a menos que sejam substituídas. Você pode renomear keye key.pubpara id_*e id_*.pubrespectivamente, onde *está dsa, rsa, ecdsaou ed25519, dependendo do tipo de chave (que pode ser obtida no arquivo de chave pública).

Alternativamente, crie ~/.ssh/configcom IdentityFile ~/.ssh/keynele.

EDITAR:Você também pode usar ~/.ssh/configpara especificar chaves por host, com coisas como

Host host1
    IdentityFile ~/.ssh/key1

Host host2
    IdentityFile ~/.ssh/key2

informação relacionada