logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 19-05-2013 20:12:01

jean-kiki
Membre
Distrib. : Debian jessie
Noyau : Linux 3.9-1-amd64
(G)UI : xfce 4.10 + compiz 0.8.4-5.2
Inscription : 18-09-2012

[Résolu] configuration openssh

bonjour,

voilà j'ai un petit souci. Je tente de configurer un accès ssh sur mon serveur. installation aucun souci, l’authentification par mot de passe marche bien entre serveur/client. Évidemment je souhaite m’authentifier via des clefs publique/privée.

j'ai suivi 2 tutos principalement : http://debian-facile.org/doc:reseau:ssh et http://doc.ubuntu-fr.org/ssh

2 remarques tout d'abord en ce qui concerne la doc debian-facile : pour redémarrer le serveur il est indiqué la commande

# /etc/init.d/sshd restart

mais est-ce que ce n'est pas plutôt

# /etc/init.d/ssh restart

sans le "d" à la fin de ssh ? car chez moi la 1er n'est pas reconnu et la 2ème fonctionne.

et j'ai également galéré pour ajouter les clefs au fichier ~/.ssh/authorized_keys (j'ai 2 ordi qui doivent accéder au serveur) et l'une remplaçai l'autre en utilisant "scp" alors qu'il existe une commande

ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip_machine

pour faire ça. Sûrement très connu...quand on connaît. Peut-être en toucher 2 mots dans la doc ? personnellement j'ai trouvé ça par là : http://doc.fedora-fr.org/wiki/SSH_:_Aut … ge_de_SSHd


par ailleurs j'ai suivi les conseils de la doc ubuntu sur les droits :

Mot de passe toujours demandés avec authentification par clés

Si après avoir suivi ce tutoriel un mot de passe est toujours demandé, il se peut que ce soit dû à un problème de droits sur votre Dossier Personnel.
Sur la machine distante regardez le fichier /var/log/auth.log pour y trouver des indications et notamment et si la ligne suivante apparaît :

Authentication refused: bad ownership or modes for directory /home/votre_login

Alors faites :

chmod 755 $HOME

Et tout devrait rentrer dans l'ordre.

Si ce n'est toujours pas le cas, c'est que le serveur doit être configuré en mode de sécurité strict (c'est le cas par défaut sur Ubuntu).
Effectuez les opérations suivantes :

Sur le serveur :

    dans le fichier /etc/ssh/sshd_config, la ligne StrictModes yes indique que le serveur va être très pointilleux sur les droits du compte sur lequel on se connecte en ssh.
    saisissez ensuite les commandes suivantes

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

    Sur le client, dans /etc/ssh/ssh_config, rajoutez la ligne PreferredAuthentications publickey.



Bref tout ça pour dire que ça ne marche toujours pas ! Il me renvoie un

Permission denied (publickey)


problème : je n'ai pas fait attention et j'ai fait la commande "chmod 755 $HOME" en tant que root ! est-ce un problème pour la sécurité du serveur ? De la même façon le chmod en tant que simple utilisateur n’ayant rien changé était-ce vraiment utile et peut-on (doit-on ?) revenir en arrière ?

J'ai de bonne raison de croire qu'un fichier "config" pourrai être plus utile mais je ne sais pas trop comment ça fonctionne et comment le personnaliser... je vais continuer à chercher mais si vous avez des pistes... merci smile

Dernière modification par jean-kiki (22-05-2013 10:34:48)


Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

#2 20-05-2013 09:24:30

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

Re : [Résolu] configuration openssh

Salut,

Merci pour les remarques, effectivement le tuto comportant quelques bêtises.

Peut-être un problème de permissions des clés ton truc :

chmod 700 ~/.ssh
chmod 600 ~/.ssh/*



Ensuite, tu as essayé un

ssh -i ~/.ssh/taclé user@ip

?
Pour le ssh-copy-id, tu as bien envoyé le fichier .pub et non l'autre ?


captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#3 20-05-2013 09:43:22

jean-kiki
Membre
Distrib. : Debian jessie
Noyau : Linux 3.9-1-amd64
(G)UI : xfce 4.10 + compiz 0.8.4-5.2
Inscription : 18-09-2012

Re : [Résolu] configuration openssh

encore merci captnfab wink

oui j'ai bien fait un chmod 700 sur le dossier ssh et chmod 600 sur le fichier "authorized_keys" -> sur le serveur hein ??? (et/ou sur le client ???)
et oui j'ai bien envoyé la ".pub" tout à fait certain ! Pour l'envoyer je n'avais pas désactivé l’authentification par mot de passe donc ça à bien marché et je les vois apparaître dans le fichier authorized_keys.

j'ai bien fait attention aussi à ce que la clef se termine par l'adresse ip locale (j'ai essayé aussi comme ça). En l’occurrence j'ai laissé le nom de la machine mais j'ai rajouter ce nom associé à l'ip dans le fichier hosts du serveur.

Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

#4 20-05-2013 09:50:32

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

Re : [Résolu] configuration openssh

Sur le client, il faut lancer les commandes que j'ai données. Sinon, les clés ne sont pas considérées car leur droits sont trop grands, et donc la sécurité très faible.

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#5 20-05-2013 09:55:26

jean-kiki
Membre
Distrib. : Debian jessie
Noyau : Linux 3.9-1-amd64
(G)UI : xfce 4.10 + compiz 0.8.4-5.2
Inscription : 18-09-2012

Re : [Résolu] configuration openssh

ah ! heu... je suis en live direct de mon ordi... je redis tout de suite smile

bon ben non sad il veut toujours pas. du coup je ne sais pas si c'est un question de droit, ou alors vu que je l'ai aussi fait sur le serveur ça a faussé la donne ? (notamment c'est mon # chmod 755 $HOME sur serveur qui m'inquiète ? je ne sais pas si ce sont les droits normaux ?)

Dernière modification par jean-kiki (20-05-2013 10:04:31)


Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

#6 20-05-2013 10:35:09

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

Re : [Résolu] configuration openssh

Reprenons tout ça ! smile

Sur le client et le serveur, les permissions sur les dossiers doivent ressembler à ça :

$ ls -lhd /home /home/user /home/user/.ssh
drwxr-xr-x  5 root    root    4,0K janv. 13 23:40 /home
drwx--x--x 79 user user 4,0K mai   20 11:30 /home/user
drwx------  3 user user 4,0K avril 24 19:03 /home/user/.ssh
 



Sur le serveur, les droits du fichier de clés autorisés doivent être les suivants :

$ ls -lh /home/user/.ssh/authorized_keys
-rw------- 1 user user 4,6K  4 avril 16:24 /home/user/.ssh/authorized_keys



Sur le client, les droits des fichiers de clés doivent être les suivants :

ls -lh ~/.ssh/id_rsa*
-rw------- 1 user user 1,7K juil. 14  2008 /home/user/.ssh/id_rsa
-rw-r--r-- 1 user user  396 mai   14  2008 /home/user/.ssh/id_rsa.pub



Si tout cela est bon, ça n'est pas un pb de droits.

Tu peux nous paster le contenu de ton fichier /etc/ssh/sshd_config du serveur, si tu l'as modifié.

Pour ce qui est du fichier ~/.ssh/authorized_keys du serveur, il ne contient pas d'info secrètes normalement. Une chose que tu peux faire, c'est le supprimer et refaire depuis le client un

ssh-copy-id -i ~/.ssh/ta_clé.pub user@serveur


cela le recréera et re-copiera bien la clé dessus.

Si un

ssh -i ~/.ssh/ta_clé user@serveur

ne marche toujours pas après ça, on regardera le

ssh -v -i ~/.ssh/ta_clé user@serveur


captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#7 20-05-2013 10:59:25

jean-kiki
Membre
Distrib. : Debian jessie
Noyau : Linux 3.9-1-amd64
(G)UI : xfce 4.10 + compiz 0.8.4-5.2
Inscription : 18-09-2012

Re : [Résolu] configuration openssh

alors :

pour la commande $ ls -lhd /home /home/user /home/user/.ssh
sur le serveur :

drwxr-xr-x  4 root     root     4,0K févr. 16 20:29 /home/
drwxr-xr-x  7 jeankiki jeankiki 4,0K mai   17 16:06 /home/jeankiki/
drwx------  2 jeankiki jeankiki 4,0K mai   17 15:38 /home/jeankiki/.ssh/


sur le client :

drwxr-xr-x  4 root     root     4,0K mars  14 09:55 /home/
drwxr-xr-x 31 jeankiki jeankiki 4,0K mai   20 09:52 /home/jeankiki/
drwx------  2 jeankiki jeankiki 4,0K mai   20 11:15 /home/jeankiki/.ssh/



pour ls -lh /home/user/.ssh/authorized_keys sur le serveur :

-rw------- 1 jeankiki jeankiki 1,5k mai 20 11:32 /home/jeankiki/.ssh/authorized_keys



pour ls -lh ~/.ssh/speedy_robbie* sur le client (j'ai nommé mes clefs du nom de mes machines... ce n'est pas secret comme info ?) :

-rw------- 1 jeankiki jeankiki 3,3K mai   17 13:28 /home/jeankiki/.ssh/speedy_robbie
-rw------- 1 jeankiki jeankiki  741 mai   17 13:28 /home/jeankiki/.ssh/speedy_robbie.pub



ah ! à priori les droits sur ma clef publique client ne semble pas correspondre....


Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

#8 20-05-2013 11:08:56

jean-kiki
Membre
Distrib. : Debian jessie
Noyau : Linux 3.9-1-amd64
(G)UI : xfce 4.10 + compiz 0.8.4-5.2
Inscription : 18-09-2012

Re : [Résolu] configuration openssh

et voilà mon sshd_config du serveur :

# Package generated configuration file
# See the sshd_config(5) 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
HostKey /etc/ssh/ssh_host_ecdsa_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 no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  ~/.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 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

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM no
AllowUsers jeankiki
 



j'avais modifié le port que j'ai remis à 22 pour le publier sur le forum. Et sinon le fait que mes 2 machines clientes qui sont amenées à se connecter au serveur ai le même nom d'utilisateur ça n'est pas un problème pour AllowUsers si on le met qu'une fois ?

pour "ssh-copy-id" je viens de voir dans la doc ubuntu :

[...] change également les permissions des répertoires ~/.ssh et ~/.ssh/authorized keys de l'hôte distant pour enlever l'accès en écriture du groupe (qui vous empêcherait de vous connecter si le serveur distant ssh a "StrictModes yes" dans son fichier de configuration



heu... et là quand je veux recréer un fichier authorized_keys il me met "Permission denied (password)" gloups ! (j'ai remodifié mon sshs_config bien sur pour l'autoriser, et ça avant ça marchait)

Dernière modification par jean-kiki (20-05-2013 11:25:13)


Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

#9 20-05-2013 13:07:16

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

Re : [Résolu] configuration openssh

Mhh, pourquoi ton UsePAM est à "no" ?

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#10 20-05-2013 13:56:36

jean-kiki
Membre
Distrib. : Debian jessie
Noyau : Linux 3.9-1-amd64
(G)UI : xfce 4.10 + compiz 0.8.4-5.2
Inscription : 18-09-2012

Re : [Résolu] configuration openssh

parce-que c'est marqué dans la doc big_smile

UsePAM no -> désactive la connection par mot de passe

et chez ubuntu ils sont d'accord aussi : http://doc.ubuntu-fr.org/ssh#configurat … erveur_ssh

pour utiliser le mot de passe je l'ai remis à yes (et "réinversé" les autres options bien sûr)

[edit] : hop là ! ok c'est bon pour le mot de passe. J'avais laissé un "PreferredAuthentications publickey" dans le fichier /etc/ssh/ssh_config sur le poste client. bon ben comme ça je comprend mieux la relation entre les différents fichiers ! hum hum... hmm

du coup j'ai pu renvoyer un ssh-copy-id. Comme ça ne marche toujours pas, voilà de quoi aider à m'aider :

$ ssh -v -i ~/.ssh/speedy_robbie jeankiki@192.168.0.100
OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.168.0.100 [192.168.0.100] port 22.
debug1: Connection established.
debug1: identity file /home/jeankiki/.ssh/speedy_robbie type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-4096
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-4096
debug1: identity file /home/jeankiki/.ssh/speedy_robbie-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-4
debug1: match: OpenSSH_6.0p1 Debian-4 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-4
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 c7:0d:9e:00:2a:5e:cb:b7:cc:5c:ad:8f:1e:94:6d:8c
debug1: Host '192.168.0.100' is known and matches the ECDSA host key.
debug1: Found key in /home/jeankiki/.ssh/known_hosts:1
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/jeankiki/.ssh/speedy_robbie
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

Dernière modification par jean-kiki (20-05-2013 14:43:02)


Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

#11 21-05-2013 08:34:42

nikau
Banni(e)
Distrib. : jessie
Noyau : 3.16.0-4-amd64
(G)UI : Xfce 4.10.1
Inscription : 19-10-2011

Re : [Résolu] configuration openssh

slt,

c' est pénible quand on fait ce qu' il faut et toujours ce fameux  Permission denied (publickey)

pour contourner ça voici ce que j' ai fait:

Dans /etc/ssh/sshd_config  j' ai remplacé la ligne
AuthorizedKeysFile    %h/.ssh/authorized_keys
par
AuthorizedKeysFile    /authorized_keys

j' ai copié authorized_keys sur la racine


j' ai crée un group:
addgroup cle

le propriétaire devient root:clé
chown root:cle /authorized_keys

mon user doit faire parti de ce groupe cle
adduser mon_user cle


ls -l /authorized_keys
-rw-r----- 1 root cle 788 mars  31 22:21 /authorized_keys
 





edit:  je comprend que ça ne peut pas marcher en lisant ça:
pour ls -lh /home/user/.ssh/authorized_keys sur le serveur :

-rw------- 1 jeankiki jeankiki 1,5k mai 20 11:32 /home/jeankiki/.ssh/authorized_keys

le fichier authorized_keys n' appartient pas au user mais à root, il contient la clé publique

la clé privée se trouvant évidemment chez le client dans /home/user/.ssh/nom_que_tu_lui_as_donné  (par défaut id_rsa)

Dernière modification par nikau (21-05-2013 09:33:42)

Hors ligne

#12 21-05-2013 15:16:39

jean-kiki
Membre
Distrib. : Debian jessie
Noyau : Linux 3.9-1-amd64
(G)UI : xfce 4.10 + compiz 0.8.4-5.2
Inscription : 18-09-2012

Re : [Résolu] configuration openssh

nikau a écrit :

slt,
c' est pénible quand on fait ce qu' il faut et toujours ce fameux  Permission denied (publickey)


oui c'est très pénible d'être bloqué comme ça et de rien pouvoir faire que répéter les commandes... smile

nikau a écrit :

edit:  je comprend que ça ne peut pas marcher en lisant ça:
pour ls -lh /home/user/.ssh/authorized_keys sur le serveur :

-rw------- 1 jeankiki jeankiki 1,5k mai 20 11:32 /home/jeankiki/.ssh/authorized_keys

le fichier authorized_keys n' appartient pas au user mais à root, il contient la clé publique

la clé privée se trouvant évidemment chez le client dans /home/user/.ssh/nom_que_tu_lui_as_donné  (par défaut id_rsa)


ah c'est intéressant ça. Une info que je ne savais pas (ou que je n'ai pas vu). Je vais essayer ce soir. Du coup c'est un "chown root:root ~/.ssh/authorized_keys" sur le serveur ?


Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

#13 21-05-2013 19:17:10

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

Re : [Résolu] configuration openssh

Hum.

Je déconseille fortement la solution à base de « /authorized_keys ». Elle ne respecte pas le standard de rangement du système de fichier, stocke des données personnelles sur la partition racine et passe très mal au multi-utilisateur.

Personnellement, je ne désactive pas PAM pour interdire le login par mot de passe, et je crains que déactiver PAM ne change d'autres choses...

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#14 22-05-2013 08:25:41

nikau
Banni(e)
Distrib. : jessie
Noyau : 3.16.0-4-amd64
(G)UI : Xfce 4.10.1
Inscription : 19-10-2011

Re : [Résolu] configuration openssh

captnfab a écrit :

Hum.

Je déconseille fortement la solution à base de « /authorized_keys ». Elle ne respecte pas le standard de rangement du système de fichier, stocke des données personnelles sur la partition racine et passe très mal au multi-utilisateur.

Personnellement, je ne désactive pas PAM pour interdire le login par mot de passe, et je crains que déactiver PAM ne change d'autres choses...



captnfab, que risque t' il de se passer si le fichier authorized_keys est directement sur la racine ? je veux bien suivre ton conseil de le remettre dans un répertoire mais j' aimerais en connaître l' explication technique exacte.  (ça fait pourtant 2 ans qu' il tournait ainsi sans problème)

@jean_kiki:   pour désactiver le login par mot de passe, tu  modifies la ligne  en  PasswordAuthentication no dans sshd_config.

Hors ligne

#15 22-05-2013 10:34:09

jean-kiki
Membre
Distrib. : Debian jessie
Noyau : Linux 3.9-1-amd64
(G)UI : xfce 4.10 + compiz 0.8.4-5.2
Inscription : 18-09-2012

Re : [Résolu] configuration openssh

yatta ! je crois c'est résolu...

Bon l'ami d'une de mes coloc est passé hier et il a bien voulu jeter un œil vu qu'il s'y connaît, oui bon bref on s'en fiche, mais il à fait un

service ssh start -d

côté serveur. On à pu voir que lors de l’authentification il va chercher le ~/.ssh/authorized_keys dans root ! sauf que root n'a même pas de fichier .ssh parce-que ssh est installé et tourne côté utilisateur. c'est donc le ~ qui est ambiguë. Quand je mets le chemin complet /home/jeankiki/.ssh/authorized_keys (dans mon cas) et bien ça marche !

le problème avec ça m'a t-on expliqué c'est que si je crée plusieurs utilisateurs ssh ne va pas chercher dans leur /.ssh/authorized_keys à eux mais qu'il faudra les rajouter dans mon fichier de mon user. Vu que c'est un serveur perso c'est pas grave, mais c'est pas top non plus. J'ai donc retrouvé et remis l'option par défaut %h/.ssh/authorized_keys et à nouveau ça marche !!!

je sais pas trop ou j'ai fais la boulette mais je crois ça viens de mon inexpérience du fichier /etc/ssh/sshd_config au début. En y repensant j'avais peut-être pas décommenter le AuthorizedKeysFile, puis comme je connaissais pas et ne voyais pas l’intérêt du %h j'ai mis un ~ en décommentant. Peut-être aussi le PAM à son rôle à jouer et donc mieux vaut ne pas y toucher (et juste mettre PasswordAuthentication à no

@nikau : merci beaucoup pour ton partage. Le seul truc c'est que je préfère le faire fonctionner comme c'est censé fonctionner sans devoir bidouiller (et avec root on voit souvent des mises en garde). déjà je regrette d'avoir bidouillé les droits des fichiers, m'enfin ça je m'en sors plus.

@captfab : merci pour les commandes de vérification des droits sur les fichiers ça va me resservir wink et merci tout cours.

je me tâte à purger tout ça pour recommencer l'install ssh-server et voir si je m'en sors maintenant que j'ai mieux compris


Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

#16 22-05-2013 10:48:17

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

Re : [Résolu] configuration openssh

Salut,

nikau a écrit :

captnfab, que risque t' il de se passer si le fichier authorized_keys est directement sur la racine ? je veux bien suivre ton conseil de le remettre dans un répertoire mais j' aimerais en connaître l' explication technique exacte.  (ça fait pourtant 2 ans qu' il tournait ainsi sans problème)



Plusieurs choses smile

  1. D'abord, il n'y a qu'un seul fichier authorized_keys pour tous les users, donc si tu ajoutes une clé pour l'utilisateur « tartampion », ça ajoute aussi la clé pour root, et donc tartampion peut se logguer en root avec sa clé.

  2. Ensuite, si tu fais une réinstallation en ne sauvegardant que le /home alors ton fichier est perdu, alors qu'il s'agit de données utilisateurs

  3. Finalement, tu as contourné un problème sans le comprendre, il est possible que ce faisant tu passes à côté d'une faille de sécurité liée à un pb de configuration (c'est le cas ici, cf. 1) )


captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#17 22-05-2013 11:07:00

nikau
Banni(e)
Distrib. : jessie
Noyau : 3.16.0-4-amd64
(G)UI : Xfce 4.10.1
Inscription : 19-10-2011

Re : [Résolu] configuration openssh

Je laisse comme ça puisque pas de pbs, je peux te confirmer qu' il est impossible de se connecter en root puisque je l' ai mis à no dans la config et root exclu des utilisateurs, et comme je suis très pointilleux sur la sécurité, je suis le seul à pouvoir me connecter en ssh, les autres users qui disposent d' une clé privé sont chrootés avec un shell réduit en sftp

Dernière modification par nikau (22-05-2013 11:09:46)

Hors ligne

#18 22-05-2013 11:17:28

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

Re : [Résolu] configuration openssh

Tu ne peux pas à la fois être pointilleux sur la sécurité et utiliser un fichier authorized_keys commun à tous les utilisateurs smile

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#19 22-05-2013 11:48:49

nikau
Banni(e)
Distrib. : jessie
Noyau : 3.16.0-4-amd64
(G)UI : Xfce 4.10.1
Inscription : 19-10-2011

Re : [Résolu] configuration openssh

pourquoi ? tu ne savais pas qu' on pouvait mettre plusieurs clé publique dans authorized_keys ? 
-ce fichier est interdit en lecture pour les autres
-de plus, si tu reprends le principe du chiffrement asymétrique:
  si la clé publique est  compromise, quel danger ? c' est la cle privé qui doit être gardée bien au chaud et celle ci ne se trouve pas dans authorized_keys mais dans .ssh du client, tu penses bien que je l' ai vérifié le contenu de ce fameux authorized_keys cool

Hors ligne

#20 22-05-2013 11:51:08

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

Re : [Résolu] configuration openssh

Si tu as un fichier authorized_keys unique (ce qui est ton cas), toutes les clés présentes dans ce fichier permettent de se connecter à tous les utilisateurs (pour peu que les utilisateurs aient le droit de se connecter)

Et ça, c'est un très grave problème de sécurité smile

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#21 22-05-2013 12:13:18

nikau
Banni(e)
Distrib. : jessie
Noyau : 3.16.0-4-amd64
(G)UI : Xfce 4.10.1
Inscription : 19-10-2011

Re : [Résolu] configuration openssh

ok mais c' est pour cela que la clé privée, je ne la remets à personne. lol  ceux qui sont en sftp chrootés shell réduit tapent leur mot de passe respectifs.

Hors ligne

#22 22-05-2013 12:29:05

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

Re : [Résolu] configuration openssh

Autrement dit, tu interdis à tes utilisateurs d'utiliser une clé ssh, mais toi, tu peux te connecter à tous les comptes avec la tienne. Je ne suis que moyennement convaincu par le principe ^^"

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#23 22-05-2013 19:02:01

jean-kiki
Membre
Distrib. : Debian jessie
Noyau : Linux 3.9-1-amd64
(G)UI : xfce 4.10 + compiz 0.8.4-5.2
Inscription : 18-09-2012

Re : [Résolu] configuration openssh

c'est intéressant votre discussion ça confirme (et ça m'explique) le fonctionnement de ssh et ce que je pensais...

Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

#24 23-05-2013 08:23:51

nikau
Banni(e)
Distrib. : jessie
Noyau : 3.16.0-4-amd64
(G)UI : Xfce 4.10.1
Inscription : 19-10-2011

Re : [Résolu] configuration openssh

jean-kiki a écrit :

c'est intéressant votre discussion ça confirme (et ça m'explique) le fonctionnement de ssh et ce que je pensais...




il faut suivre les conseils du capitaine, en effet c' est mieux que chaque user possède  son propre authorized_keys dans son répertoire .ssh respectif avec un chmod 700
cela permet de faire un nouveau jeux de clé si un utilisateur en fait la demande.

Hors ligne

#25 12-06-2013 14:32:07

jean-kiki
Membre
Distrib. : Debian jessie
Noyau : Linux 3.9-1-amd64
(G)UI : xfce 4.10 + compiz 0.8.4-5.2
Inscription : 18-09-2012

Re : [Résolu] configuration openssh

Bon après quelque temps j'ai purgé openssh-server puis effacé les fichiers de conf et même le dossier .ssh. Bref je suis reparti de 0 !

-je réinstalle

-je crée des clefs :

ssh-keygen -t rsa -b 4096 -f ~/.ssh/le_nom_de_la_clef



-je copie ma clef dans ~/.ssh/authorized_keys via :

ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip_serveur



-je modifie sur le serveur quelques entrées de /etc/ssh/sshd_config comme suit :
    # Authentification:
       PermitRootLogin no
       PubkeyAuthentication yes
       AuthorizedKeysFile     %h/.ssh/authorized_keys (je décommente, même si je crois ce n'est pas nécessaire car c'est le comportement par défaut)
    PasswordAuthentication no

-je tente

ssh utilisateur@ip_serveur

et là : ça marche pas-> Permission denied (publickey) hum...

-je tente

ssh -i ~/.ssh/ma_clef utilisateur@ip_serveur

et là : ça marche big_smile ouf
donc en gros si je comprend bien il faut quand même préciser quelle clef on veux utiliser pour se connecter ainsi à ssh !

du coup j'ai réussi à créer un fichier config comme suit :
      Host            nom_du_serveur
      HostName   adresse_ip_serveur
      User            nom_de_l'utilisateur_à_contacter_sur_le_serveur
      Port             22 (ou autre si modifié dans /etc/ssh/sshd_config)
      IdentityFile   ~/.ssh/nom_de_la_clef

et là si je fais un

ssh utilisateur@nom_serveur ou ssh nom_serveur (si le nom d'utilisateur est identique sur les 2 machines client/serveur)

et bien ça marche big_smile

Si je peux me permettre de suggérer, dans le wiki http://debian-facile.org/doc:reseau:ssh est-ce qu'il ne serait pas utile de préciser de se connecter avec ssh -i ~/.ssh/ma_clef utilisateur@ip_serveur dans le cas d'une connexion par clefs (ssh utilisateur@ip ne fonctionnant qu'avec l'authentification par mot de passe). Et également de rajouter un encart ou exemple de fichier config tellement utile pour se simplifier la vie...
Je ne sais pas si c'est chez tout le monde pareille, mais j'ai essayé de rester le plus proche possible de la configuration par défaut...si jamais ça peut servir (en tout cas ça m'aurait bien servi lol smile )

rappel de ma biblio :
http://debian-facile.org/doc:reseau:ssh
http://doc.ubuntu-fr.org/ssh
http://doc.fedora-fr.org/wiki/SSH_:_Aut … e_cl.C3.A9


Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

Pied de page des forums