Bonjour,
J’ai quelques problèmes pour me configurer ssh…
Utilisant à la fois Windows en client et debian en serveur, j’utilise actuellement ssh pour me connecter à mon serveur.
Tel quel j’utilise les mots de passe. Mais je souhaite utiliser maintenant le système de clés privées et de clé publiques pour m’y connecter.
Pour cela, initialement, je m’étais donc télécharger puttygen. Or le format de putty est propriétaire. Il faut effectuer un conversion de format de façon à ce qu’il soit reconnu par le serveur.
Trois solutions possible :
-Créer ma paire de clés via puttygen. Importer la clé publique dans le serveur et effectuer la conversion qui s’impose. Ca ne marche pas…
-Créer ma paire de clés sur le serveur via ssh-keygen puis récupérer ma clé publique, ainsi que la clé privée sur mon client win. Importer la clé publique via putygen (conversion/import key) et enregister en .PPK. Ca ne marche pas…
-Créer ma paire de clé via puttygen, sur le serveur, via les putty-tools (cf. apt-cache search). A priori, ca me semblait la solution la plus cool dans la mesure ou la conversion n’est pas utile, les clés étant créées nativement au format de putty. Mais… Ca ne marche tjs pas.
Dans le cas de cette troisième solution, j’ai effectuée, les commandes suivantes :
Pour obtenir la clé privée :
Multipass:/home/.ssh# puttygen -t rsa -b 2048 -C “my home key : christian@thison ador.homeftp.org” -o mykey.ppk
++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++
Enter passphrase to save key:
Re-enter passphrase to verify:
Ce qui me donne, dans le répertoire /home/.ssh :
Multipass:/home/.ssh# ls
authorized_keys mykey.ppk
(Mykey.ppk étant la privée, donc. Je précise ici que mon user a pour répertoire de connexion /home. Son répertoire .ssh s’y trouve donc).
Pour ce qui est de la clé publique (je ne met pas toute la clé) :
Multipass:/home/christian/.ssh# puttygen -O public-openssh mykey.ppk
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQB7aOZDMMLT2cLQPI0hwp17KZWcjv39JPBPWWdHFOhDn9fDUYTCMSp1 (etc…)
Après quoi, il ne reste plus qu’à copier la clé publique et l’enregistrer dans .ssh/authorized_keys.
Ensuite, je récupère le tout via samba sur mon Windows, j’ouvre en utilisant Putty, en choisissant, bien sûr, la clé via “ssh” et “auth”
Et là, c’est le drame : j’obiens :
Using username “christian”.
Server refused our key
christian@Multipass’s password:
Et c’est systèmétatique…
Alors, au niveau des droits sur les fichiers, j’ai :
Multipass:/home/.ssh# ls -l
total 8
-rw------- 1 christian root 1269 2008-05-04 01:06 authorized_keys
-rw-r–r-- 1 christian root 1482 2008-05-04 00:48 mykey.ppk
Au niveau des droits sur le répertoire /home (dès fois qu’il y ait un rapport):
drwxrwx— 15 christian christian 4096 2008-05-03 23:29 home
Et au niveau du fichier de conf de sshd_conf, j’ai :
Package generated configuration file
See the sshd(8) manpage for details
What ports, IPs and protocols we listen for
Port 22
Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes
Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768
Logging
SyslogFacility AUTH
LogLevel INFO
Authentication:
LoginGraceTime 120
###PermitRootLogin yes
###PermitRootLogin without-password
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
Don’t read the user’s ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
similar for protocol version 2
HostbasedAuthentication no
Uncomment if you don’t trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes
To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no
Change to yes to enable challenge-response passwords (beware issues with
some PAM modules and threads)
ChallengeResponseAuthentication no
Change to no to disable tunnelled clear text passwords
PasswordAuthentication yes
#PasswordAuthentication no
Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no
#MaxStartups 10:30:60
#Banner /etc/issue.net
Allow client to pass locale environment variables
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
Alors Pleaaaase!!! Ou est-ce que j’ai fait une erreur???
Argghhh Ca fait dix plombes que je m’acharne sur toutes les solutions imaginables, mais je ne vois pas le problème!
Rgs,
Chris