ssh autenticação de chave pública

2

Eu tentei configurar o ssh para usar autenticação de chave pública

O link

/ etc / ssh / sshd_config tem esses parâmetros.

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

PasswordAuthentication yes

Mas ainda estou sendo solicitado a fornecer uma senha. Se eu usar

PasswordAuthentication no

Não consigo fazer login

Alguma sugestão?

Funciona, mas apenas para usuário root.

Meu problema era que eu tinha esse parâmetro

PermitRootLogin no.

Eu posso fazer o login com as chaves com o usuário root se eu usar

PermitRootLogin sim.

No sistema existe apenas um diretório /root/.ssh e um arquivo authorized_keys neste diretório

Como posso adicionar isso a outros usuários, se não houver, neste sistema, um diretório home / $ USER / .ssh e um arquivo authorized_keys para cada usuário?

Existe uma maneira de configurar para cada usuário? Vou precisar de arquivos authorized_keys diferentes para cada usuário.

É possível configurar para hosts, domínios ou ips diferentes? semelhante ao httpd.conf

    
por Jvrq 22.02.2013 / 00:12

1 resposta

5

A autenticação de chave é sempre tentada antes da autenticação por senha, portanto, se você estiver solicitando uma senha, a autenticação de chave falhou. A causa mais comum para isso é a propriedade ou permissão incorreta nos arquivos do lado do cliente e do servidor.

No cliente e no servidor, o diretório ~/.ssh deve pertencer e ser acessível somente a você:

chown -R $USER ~/.ssh
chmod u=rwX,g=,o= ~/.ssh

No cliente, a chave privada deve pertencer e ser acessível somente a você:

chmod u=rwX,g=,o= ~/.ssh/id_rsa

No servidor, o arquivo de chaves autorizadas deve pertencer e estar acessível somente a você:

chmod u=rwX,g=,o= ~/.ssh/authorized_keys
    
por 22.02.2013 / 00:16