Por que não consigo usar autenticação de chave pública / privada com ssh no Arch Linux?

3

Eu tenho a seguinte configuração em uma máquina Ubuntu:

~/dotfiles/authorized_keys2
~/.ssh/authorized_keys2 -> /home/wayne/dotfiles/authorized_keys2

Eu tive a mesma configuração na minha máquina Arch, mas quando me conectei com -v,

debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/wayne/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password

Eu encontrei esta página no Arch Wiki, que tem esta linha:

$ chmod 600 ~/.ssh/authorized_keys

Então adicionei outro link simbólico:

authorized_keys -> /home/wayne/dotfiles/authorized_keys2

E ainda assim, não há dados. E sim, eu tenho garantido que a chave correta esteja presente em authorized_keys .

Por que não consigo conectar usando minhas chaves?

Editar:

As minhas permissões estão definidas corretamente nas minhas pastas home e ssh (e no arquivo de chave):

drwxr-x--x 150 wayne       family  13k Aug 27 07:38 wayne/
drwx------   2 wayne       family 4.1k Aug 27 07:24 .ssh/
-rw-------   1 wayne       family 6.4k Aug 20 07:01 authorized_keys2
    
por Wayne Werner 27.08.2014 / 14:37

3 respostas

8

As permissões no seu arquivo authorized_keys e nos diretórios que o levam devem ser suficientemente restritivas: elas devem ser graváveis apenas por você ou pelo root (versões recentes do OpenSSH também permitem que sejam graváveis em grupo se você for o usuário único nesse grupo). Consulte Ainda estou recebendo um prompt de senha com o ssh com autenticação de chave pública? para a matéria completa.

No seu caso, authorized_keys é um link simbólico. A partir do OpenSSH 5.9 (não verifiquei outras versões), nesse caso, o servidor verifica as permissões que levam ao destino final do link simbólico, com todos os links simbólicos intermediários expandidos (o caminho canônico). Supondo que todos os componentes de /home/wayne/dotfiles/authorized_keys2 sejam diretórios, exceto o último, que é um arquivo normal, o OpenSSH verifica as permissões de /home/wayne , /home/wayne/dotfiles e /home/wayne/dotfiles/authorized_keys2 .

Se você tiver acesso root no servidor, verifique os logs do servidor em busca de uma mensagem no formato bad ownership or modes for … .

    
por 28.08.2014 / 13:30
0

Eu tive o mesmo problema, fui resolvido alterando as permissões do diretório / home / user que não estava correto, deve ser chmod 755

    
por 21.06.2017 / 02:19
-1

Se o SELINUX estiver configurado para enforcing, e o caminho canônico para o seu arquivo authorized_keys tiver um symlink para qualquer um dos diretórios, ele falhará. Você precisa definir SELINUX para desativado.

    
por 17.09.2014 / 18:24