O SSH continua solicitando minha senha se eu usar um arquivo de chave diferente do padrão

O SSH continua solicitando minha senha se eu usar um arquivo de chave diferente do padrão

Eu tenho um arquivo-chave chamado KEY, que possui KEYe KEY.pub. Eu carrego o pub para authorized_keyse adiciono o privado com

ssh-add /home/user/.ssh/KEY

Mas quando tento me conectar , ele continua me pedindo a senha.ssh [email protected]

Se eu gerar uma chave com ssh-keygene deixar o nome da chave padrão, fazendo upload do pub e carregando o privado, elenãosolicite uma senha.

Qual poderia ser o problema?

Responder1

Com você pode obter a saída de depuração e provavelmente dirá que não pode autenticar com (arquivo de chave padrão do ssh). A resposta é dizer ao ssh qual chave usar:ssh -vvv [email protected]~/.ssh/id_rsa

ssh -i /home/user/.ssh/KEY [email protected]

Você também pode adicionar seu arquivo-chave por host ao seu arquivo .ssh/config, basta digitar ssh host.come o usuário/chave será selecionado automaticamente.

Exemplo de entrada para .ssh/config(Para mais informações, veja man ssh_config):

Host mysshserver ssh.host.com
HostName ssh.host.com
User myusername
IdentityFile ~/.ssh/mykeyfile


Explicação dos arquivos-chave de man ssh:

 -i identity_file
             Selects a file from which the identity (private key) for RSA or
             DSA authentication is read.  The default is ~/.ssh/identity for
             protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for pro‐
             tocol version 2.  Identity files may also be specified on a per-
             host basis in the configuration file.  It is possible to have
             multiple -i options (and multiple identities specified in config‐
             uration files).

Responder2

Para configurar seus arquivos principais corretamente (Como fazeraqui), observe o seguinte:

Caso o .sshdiretório host e os arquivos não tenham as permissões corretas E/OU o diretório inicial do usuário remoto não tenha as permissões corretas, o ssh continuará solicitando a senha, embora encontre o arquivo-chave.

Você pode ver se seus arquivos principais estão sendo oferecidos usandossh -vvv user@host

Exemplo de saída:

debug1: Offering DSA public key: /Users/<user>/.ssh/id_dsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
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

Verifique o diretório inicial do usuário remoto e .sshas permissões do diretório remoto

Por exemplo, as permissões devem ser:

$ls -ld .ssh
drwx------ 2 <owner> <group> 4096 2011-12-29 20:39 .ssh

$ls -ld ~/
drwxr-xr-x 28 <owner> <group> 4096 2011-12-29 20:15 /home/<user>/ 

informação relacionada