Como ativar a autenticação sem senha para o servidor remoto como um usuário diferente?

0

Isso pode parecer bastante trivial, mas o que eu fiz não parece resolver o problema.

Estou conectando a um servidor remoto como tom que (obviamente) existe no servidor remoto, mas não no servidor local.

Eu copiei a chave id_rsa.pub gerada para o usuário local bob no arquivo authorized_keys do tom no servidor remoto. No entanto, ainda estou sendo solicitado pela senha.

[bob@localserver ~]$ ssh tom@remoteserver

Eu suspeito que estou fazendo algo errado. Alguém pode ajudar? Obrigado.

EDIT 1

Apenas para completar, eu também regenerei a chave e copiei para o servidor remoto.

ssh-keygen -t rsa
ssh-copy-id -i tom@REMOTESERVER

Veja a saída de depuração aqui: detalhes de depuração do ssh

Eu notei o seguinte na saída de depuração. Isso está presente para cada linha (bloco base64?) No meu arquivo de chave privada id_rsa :

debug3: key_read: missing whitespace

EDIT 2:

Permissões do servidor remoto:

drwx------ 2 tom tom 4096 Aug 15 10:59 .
drwx------ 5 tom tom 4096 Aug 15 11:54 ..
-rw-rw-r-- 1 tom tom  810 Aug 15 10:59 authorized_keys
-rwx------ 1 tom tom  109 Aug 14 09:43 config
-rw------- 1 tom tom 1675 Aug  8 14:58 id_rsa
-rw-r--r-- 1 tom tom  404 Aug  8 14:58 id_rsa.pub
-rw-r--r-- 1 tom tom 1217 Aug 10 09:32 known_hosts

Permissões do servidor local:

drwx------ 2 bob bob 4096 Aug 15 11:32 .
drwx------ 7 bob bob 4096 Aug 15 11:32 ..
-rw------- 1 bob bob 1613 Aug 15 11:09 id_rsa
-rw------- 1 bob bob 1675 Aug 15 11:08 id_rsa.bkp
-rw-r--r-- 1 bob bob  405 Aug 15 10:58 id_rsa.pub
-rw-r--r-- 1 bob bob  410 Aug 15 10:59 known_hosts
    
por kaizenCoder 14.08.2014 / 07:44

2 respostas

2

Sua saída de ssh -vv tom@remoteserver contém:

debug1: Offering public key: /home/bob/.ssh/id_rsa

Neste momento, o cliente encontrou sua chave privada e tenta autenticar com ela. - No entanto, o servidor se recusa a fazê-lo. A razão pode ser encontrada no log do servidor .

Palpite: você tem um problema de permissão de arquivo.

Verifique novamente as permissões corretas no servidor ls -la ~/.ssh . Melhor ainda: use ssh-copy-id para copiar a chave pública para o servidor remoto. Ele cuidará das permissões corretas.

man sshd_config diz:

   StrictModes
          Specifies whether sshd(8) should check file modes and ownership  of  the
          user's  files  and  home directory before accepting login.  This is nor‐
          mally desirable  because  novices  sometimes  accidentally  leave  their
          directory  or  files world-writable.  The default is ''yes''.  Note that
          this does not apply to ChrootDirectory, whose permissions and  ownership
          are checked unconditionally.

Basicamente, apenas o próprio usuário deve poder ler / gravar em ~/.ssh .

    
por 14.08.2014 / 08:28
0

Tente com permissão 600 para o arquivo authorized_keys no host remoto. 644 é bom também, mas não deve ser grupo e / ou outro gravável.

Link útil:

link

    
por 17.08.2014 / 09:48