Re: ssh et clefs publiques/privées

Page principale

Répondre à ce message
Auteur: CTB
Date:  
À: Edgar Bonet, Liste Guilde
Sujet: Re: ssh et clefs publiques/privées
Bonjour Edgar,

J'ai installé ce type d'authentification sur ma machine perso et je
l'utilise quotidiennement au boulot sans pb.
Par contre sur ma machine perso, j'ai eu qq problèmes avec le choix du
protocole. En effet il peut avoir discordance entre la configuration du
serveur et celle du client.
*Je te conseille pour les premiers tests de mettre dans
/etc/ssh/ssh_config (config client) et /etc/ssh/sshd_config (config
serveur) l'entrée suivante "Protocol 1" (sans les guillemets)*
De cette manière on est sur que le protocole utilisé sera la version 1
(un peu + simple), tu pourras ensuite basculer vers le 2 plus sécurisé.

Ensuite sur ta machine cliente du fait le ssh-keygen -t rsa1 --> 2
fichiers doivent être créer *indentity* (clef privée) et *identity.pub*
(clef publique) dans le répertoire .ssh de ta home directory./ (désolé
de rabâché un peu ce que tu as déja fait...)/
*Attention* au niveau de la configuration du client, que l'emplacement
des clefs soient définie (entrée IdentityFile dans le fichier de conf)
pour les valeurs par défaut commenter les entrées.

Sur le serveur maintenant, dans le répertoire .ssh de ta home directory, 
tu crées un fichier "authorized_keys" et tu places ta clef publique dedans.
*Attention* vérifies bien que l'entrée du fichier de conf du serveur 
soit bien : "AuthorizedKeysFile      %h/.ssh/authorized_keys"


Ensuite tu lances le ssh -v....

Par rapport a ton problème on dirait que ton serveur ne reconnais pas ta
clef publique, ou ne trouve pas ta clef privée...

Voici ce que j'obtiens :

1- En cas de reconnaissance de ma clef :

/ctb@CTB:~/.ssh$ ssh -v ctb
OpenSSH_3.6.1p2 Debian 1:3.6.1p2-3, SSH protocols 1.5/2.0, OpenSSL
0x0090702f
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Rhosts Authentication disabled, originating port will not be
trusted.
debug1: Connecting to ctb [192.168.0.1] port 22.
debug1: Connection established.
debug1: identity file /home/ctb/.ssh/identity type 0
debug1: identity file /home/ctb/.ssh/id_rsa type -1
debug1: identity file /home/ctb/.ssh/id_dsa type -1
debug1: Remote protocol version 1.99, remote software version
OpenSSH_3.6.1p2 Debian 1:3.6.1p2-3
debug1: match: OpenSSH_3.6.1p2 Debian 1:3.6.1p2-3 pat OpenSSH*
debug1: Local version string SSH-1.5-OpenSSH_3.6.1p2 Debian 1:3.6.1p2-3
debug1: Waiting for server public key.
debug1: Received server public key (1152 bits) and host key (1024 bits).
debug1: Host 'ctb' is known and matches the RSA1 host key.
debug1: Found key in /home/ctb/.ssh/known_hosts:4
debug1: Encryption type: 3des
debug1: Sent encrypted session key.
debug1: Installing crc compensation attack detector.
debug1: Received encrypted confirmation.
debug1: RSA authentication using agent refused.
debug1: Trying RSA authentication with key '/home/ctb/.ssh/identity'
debug1: Received RSA challenge from server.
Enter passphrase for RSA key '/home/ctb/.ssh/identity': /

2- En cas de non reconnaissance :

/ctb@CTB:~/.ssh$ ssh -v ctb
OpenSSH_3.6.1p2 Debian 1:3.6.1p2-3, SSH protocols 1.5/2.0, OpenSSL
0x0090702f
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Rhosts Authentication disabled, originating port will not be
trusted.
debug1: Connecting to ctb [192.168.0.1] port 22.
debug1: Connection established.
debug1: identity file /home/ctb/.ssh/identity type 0
debug1: identity file /home/ctb/.ssh/id_rsa type -1
debug1: identity file /home/ctb/.ssh/id_dsa type -1
debug1: Remote protocol version 1.99, remote software version
OpenSSH_3.6.1p2 Debian 1:3.6.1p2-3
debug1: match: OpenSSH_3.6.1p2 Debian 1:3.6.1p2-3 pat OpenSSH*
debug1: Local version string SSH-1.5-OpenSSH_3.6.1p2 Debian 1:3.6.1p2-3
debug1: Waiting for server public key.
debug1: Received server public key (1152 bits) and host key (1024 bits).
debug1: Host 'ctb' is known and matches the RSA1 host key.
debug1: Found key in /home/ctb/.ssh/known_hosts:4
debug1: Encryption type: 3des
debug1: Sent encrypted session key.
debug1: Installing crc compensation attack detector.
debug1: Received encrypted confirmation.
debug1: RSA authentication using agent refused.
debug1: Trying RSA authentication with key '/home/ctb/.ssh/identity'
debug1: Server refused our key.
debug1: Doing challenge response authentication.
debug1: No challenge.
debug1: Doing password authentication.
ctb@ctb's password: /

Cordialement
René



Edgar Bonet wrote:

>Bonjour !
>
>J'essaye sans succès d'utiliser le mécanisme d'authentification de ssh
>avec des clefs asymétriques. Voici ce que je fais :
>
>Sur le client (bonet.grenoble.cnrs.fr) :
>    $ cd ~/.ssh
>    $ ssh-keygen -t rsa1   # pas de passphrase
>    [...]
>    Your public key has been saved in /home/edgar/.ssh/identity.pub.
>    [...]
>    $ cat identity.pub
>    1024 35 1532[...]0037 edgar@???

>
>Sur le serveur (www.guilde.asso.fr) :
>    $ cd ~/.ssh
>    $ cat > authorized_keys
>    [...copier-coller de la clef ci-dessus...]
>    $ wc authorized_keys 
>      1   4 347 authorized_keys

>
>Sur le client :
>    $ ssh -v bonet@www.guilde.asso.fr
>    [...]
>    debug1: next auth method to try is publickey
>    debug1: try privkey: /home/edgar/.ssh/id_rsa
>    debug1: try privkey: /home/edgar/.ssh/id_dsa
>    debug1: next auth method to try is keyboard-interactive
>    debug1: authentications that can continue:
>        publickey,password,keyboard-interactive
>    debug1: next auth method to try is password
>    bonet@www.guilde.asso.fr's password: 

>
>Il me demande mon mot de passe, donc la méthode publickey a échoué et je
>ne sais pas pourquoi. Remarquez que le fichier id_rsa n'existe pas.
>
>Deuxième tentative avec id_rsa :
>
>Sur le client :
>    $ rm -f identity*
>    $ ssh-keygen -t rsa   # pas de passphrase
>    [...]
>    Your public key has been saved in /home/edgar/.ssh/id_rsa.pub.
>    [...]
>    $ cat id_rsa.pub
>    ssh-rsa AAAA[...]VcsU= edgar@???

>
>Sur le serveur :
>    $ rm -f authorized_keys
>    $ cat > authorized_keys
>    [...copier-coller...]
>    $ wc authorized_keys
>      1   3 238 authorized_keys

>
>Sur le client :
>    $ ssh -v bonet@www.guilde.asso.fr
>    [...]
>    debug1: next auth method to try is publickey
>    debug1: try privkey: /home/edgar/.ssh/identity
>    debug1: try pubkey: /home/edgar/.ssh/id_rsa
>    debug1: authentications that can continue:
>        publickey,password,keyboard-interactive
>    debug1: try privkey: /home/edgar/.ssh/id_dsa
>    debug1: next auth method to try is keyboard-interactive
>    debug1: authentications that can continue:
>        publickey,password,keyboard-interactive
>    debug1: next auth method to try is password
>    bonet@www.guilde.asso.fr's password: 

>
>J'y comprends rien, et j'en ai marre de lire et relire man ssh en long
>en large et en travers. Si quelqu'un a une idée, je suis preneur.
>
>Merci bien,
>
>Edgar.
>
>
>
>