Você tem permissão incorreta para authorized_keys
. Você deve cancelar a permissão de leitura para grupo e outros.
UPDATE: Eu resolvi esse problema estranho simplesmente reinicie sshd
. No entanto, eu ainda estou me perguntando por que, porque eu não mudei nenhuma configuração desde o início do servidor.
Eu tenho 2 servidores, um instalado CentOS 5 e o outro é o CentOS 6. ssh
publickey funciona bem no CentOS 5, mas não funciona no CentOS 6. Confirmei as permissões de .ssh
diretório, tudo bem.
[root@localhost ~]# ls -Z .ssh/
drwxr-xr-x. root root unconfined_u:object_r:ssh_home_t:s0 .
dr-xr-x---. root root system_u:object_r:admin_home_t:s0 ..
-rw-r--r--. root root unconfined_u:object_r:ssh_home_t:s0 authorized_keys
-rw-------. root root unconfined_u:object_r:ssh_home_t:s0 id_rsa
-rw-r--r--. root root unconfined_u:object_r:ssh_home_t:s0 id_rsa.pub
-rw-r--r--. root root unconfined_u:object_r:ssh_home_t:s0 known_hosts
UPDATE: tentei várias permissões, incluindo 600, 644 para authorized_keys
e 700, 755 para .ssh/
, todas elas não funcionam.
ssh -vvv
fornece essa mensagem
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug3: start over, passed a different list publickey,gssapi-keyex,gssapi-with-mic,password
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/zuohaocheng/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /Users/zuohaocheng/.ssh/id_dsa
debug3: no such identity: /Users/zuohaocheng/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
Tudo em sshd_config
é o padrão. Além disso, copiei publickey através de ssh-copy-id
.
Você tem permissão incorreta para authorized_keys
. Você deve cancelar a permissão de leitura para grupo e outros.
As permissões de diretório / arquivo devem ser as seguintes:
chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/known_hosts
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
ls -l ~/.ssh
deve mostrar as permissões do chmod. Verifique se PermitRootLogin Yes
está ativado, já que você está copiando a chave do pub gerada no diretório .ssh do root. Isso poderia gerar o problema.
Quais são as permissões em ~/
(seu diretório pessoal)? Você não pode permitir permissões em qualquer nível que permitam que outras pessoas sobrescrevam seu diretório ~/.ssh
. Se o seu diretório pessoal for mais permissivo que o 755, você será solicitado a fornecer uma senha.
Se você estiver executando o selinux, esse pode ser o problema. O tipo do diretório .ssh e os arquivos abaixo devem ser ssh_home_t. Você pode verificar com ls -Z e restaurar com o restaurorecon -Rv .ssh.
/ var / log / secure também pode ter mensagens de erro mais detalhadas.
A permissão em authorized_keys deve ser 600 para que a autenticação da chave pública funcione.
Estou correndo para o mesmo problema e acontece que está relacionado ao fato de eu ter movido meu diretório home para outro disco (por motivos de espaço) e as configurações de segurança padrão não gostam desse novo local, portanto, não posso ou não encontrará meu diretório .ssh. Tentando descobrir as configurações do ssh_home_t.