SSH Permission denied (publickey)

J’essaye de SSH dans une Debian d’Ubuntu. J’ai déjà une clé RSA; c’est la même clé que j’utilise avec mon Git.

J’ai copié la clé d’Ubuntu vers Debian en utilisant:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip-address 

Ensuite, j’ai modifié sshd_config sur Debian pour inclure les éléments suivants:

RSAuthentication yes

PubkeyAuthentication yes

PasswordAuthentication no

Et j’ai redémarré mon service SSH. Maintenant, j’essaye de SSH à partir d’Ubuntu en utilisant

 ssh -v root@ip-addr 

mais j’ai ce qui suit:

 OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug1: Connecting to 10.0.1.64 [10.0.1.64] port 22. debug1: Connection established. debug1: identity file /home/koushatalebian/.ssh/id_rsa.pub type 1 debug1: identity file /home/koushatalebian/.ssh/id_rsa.pub-cert type -1 debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version ssortingng SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-8 debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-4+deb7u2 debug1: match: OpenSSH_6.0p1 Debian-4+deb7u2 pat OpenSSH* compat 0x04000000 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr hmac-md5 none debug1: kex: client->server aes128-ctr hmac-md5 none debug1: sending SSH2_MSG_KEX_ECDH_INIT debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: Server host key: ECDSA e2:af:83:f8:df:e2:15:db:77:30:e1:6b:e7:dc:77:99 debug1: Host '10.0.1.64' is known and matches the ECDSA host key. debug1: Found key in /home/koushatalebian/.ssh/known_hosts:10 debug1: ssh_ecdsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Offering RSA public key: /home/koushatalebian/.ssh/id_rsa.pub debug1: Authentications that can continue: publickey debug1: No more authentication methods to try. Permission denied (publickey). 

Je veux essentiellement forcer SSH à se produire uniquement via une authentification publickey.

J’ai lu tous les autres articles liés à ce sujet, et aucun d’entre eux n’a fonctionné pour moi. C’est pourquoi j’ai créé ceci comme poste séparé.

MODIFIER

Modifier SsortingctModes de yes à no dans sshd_config résolu le problème. Est-ce sûr de faire?

EDIT 2 Ceci est le journal pour le SSH sur le serveur:

 May 5 18:23:55 lemaker sshd[2591]: Connection from 10.0.1.37 port 42748 May 5 18:23:55 lemaker sshd[2591]: debug1: PAM: setting PAM_RHOST to "10.0.1.37" May 5 18:23:55 lemaker sshd[2591]: Failed publickey for root from 10.0.1.37 port 42748 ssh2 May 5 18:23:55 lemaker sshd[2591]: Connection closed by 10.0.1.37 [preauth] 

Vous ne voulez pas offrir votre .pub comme identifiant. Vous souhaitez utiliser votre clé privée de votre côté, vous devriez donc probablement faire

 ssh -v -i ~/.ssh/id_rsa root@ip-addr 

qui est la clé deault à utiliser, vous pouvez donc simplement laisser le drapeau -i complètement

Aussi, assurez-vous que vous avez PermitRootLogin yes si vous allez vous connecter en tant que root via ssh

Je créerais une nouvelle paire de clés et je l’utiliserais à la place. Cela ne fait que tester des choses localement, mais il suffit de créer un fichier .ssh et de le placer sur le serveur distant pour que ssh soit bidirectionnel, si vous ne voulez que dans un sens, alors vous ne disposez pas de la clé publique :

 $ pwd /home/testuser $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/testuser/.ssh/id_rsa):[ENTER] Created directory '/home/testuser/.ssh'. Enter passphrase (empty for no passphrase):[ENTER] Enter same passphrase again:[ENTER] Your identification has been saved in /home/testuser/.ssh/id_rsa. Your public key has been saved in /home/testuser/.ssh/id_rsa.pub. [...] $ cd .ssh $ ls -l total 8 -rw------- 1 testuser testuser 1679 May 5 13:49 id_rsa -rw-r--r-- 1 testuser testuser 401 May 5 13:49 id_rsa.pub $ cat id_rsa.pub >> authorized_keys $ ssh 127.0.0.1 The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established. ECDSA key fingerprint is 0f:dd:ed:e3:bf:a1:c8:3f:fd:b2:0d:e8:1f:ee:29:f8. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts. Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-36-generic x86_64) [...] Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. $ exit Connection to 127.0.0.1 closed.