Como eu configuro o sshd no Debian para usar a autenticação de chave pública?

4

Estou trabalhando em um VPS Dreamhost (Debian), e parece querer somente autenticação baseada em senha: adicionar minhas chaves públicas RSA e DSA a ~/.ssh/authorized_keys não alterou o comportamento de exigir uma senha para efetuar login.

Como pode configurar o servidor para aceitar ~/.ssh/authorized_keys ?

    
por Jonathan Hayward 17.09.2011 / 15:26

5 respostas

16

Você precisará editar /etc/ssh/sshd_config da seguinte forma:

# Both of these are probably already there, but commented
PubkeyAuthentication yes
# The next line makes sure that sshd will look in 
# $HOME/.ssh/authorized_keys for public keys
AuthorizedKeysFile      %h/.ssh/authorized_keys

Além disso, se você quiser desativar a autenticação por senha em conjunto (o que geralmente é uma boa ideia, se você usar os keypairs), adicione o seguinte:

# Again, this rule is already there, but usually defaults to 'yes'
PasswordAuthentication no

Depois disso, reinicie o ssh emitindo /etc/init.d/sshd restart e você deve estar bem!

O texto acima supõe que você já criou corretamente o .ssh dir com as permissões adequadas .

Isso significa que você define chmod 0700 para ~/.ssh .

    
por 17.09.2011 / 15:52
4

Aqui estão os passos: 1. Envie sua chave pública para o site e adicione-a ao arquivo ~ / .ssh / authorized_keys. 2. Assegure-se de que as chaves autorizadas tenham atributos de 0600 (chmod 0600 ~ / .ssh / authorized_keys) 3. Agora tente ssh, se você estiver usando putty, execute o concurso e carregue sua chave privada.

    
por 17.09.2011 / 15:34
1

Além disso, verifique o proprietário e a permissão no seu diretório pessoal. Você deve possuir seu diretório pessoal e a permissão não deve ser maior que 755.

Essas configurações são incomuns, mas é difícil entender quando isso acontece.

    
por 05.03.2012 / 16:14
0

As chaves do Pub vão em "authorized_keys2", observe o 2. Como alguém postou acima, você pode ajustar a configuração do sshd para usar o arquivo "authorized_keys" se desejar.

    
por 18.09.2011 / 13:00
0

Isso também estava me causando problemas em um servidor que nossos SysAdmins usam como um jumphost. Foi apontado para mim que cada usuário tem que ser criado localmente, de modo que /home/user[123]/authorized_keys tenha que existir e conter sua chave de publicação. Esse arquivo precisa ser chown'ed como user1: user1.

ssh-rsa ...insert pub key string... user1@local

Criar ~ / .ssh / config localmente, no host próximo, também ajuda a conectar-se mais rapidamente e definir uma opção útil, a saber, 'EscapeChar ~'

Isso pode ou não ser necessário, chmod 0600 /user1/.ssh/authorized_keys e chmod 0700 /root/.ssh/ . Isso não me ajudou durante minhas primeiras tentativas de solucionar problemas.

Edite / etc / ssh / sshd_config e remova o comentário:

AuthorizedKeysFile      %h/.ssh/authorized_keys
    
por 19.01.2015 / 21:19