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 key
e key.pub
para id_*
e id_*.pub
respectivamente, onde *
está dsa
, rsa
, ecdsa
ou ed25519
, dependendo do tipo de chave (que pode ser obtida no arquivo de chave pública).
Alternativamente, crie ~/.ssh/config
com IdentityFile ~/.ssh/key
nele.
EDITAR:Você também pode usar ~/.ssh/config
para especificar chaves por host, com coisas como
Host host1
IdentityFile ~/.ssh/key1
Host host2
IdentityFile ~/.ssh/key2