Étiquette : openssh

22 janvier 2019 /

[pastacode lang= »bash » manual= »%E2%80%94-%20BEGIN%20SSH2%20PUBLIC%20KEY%20%E2%80%94-%0A%0AComment%3A%20%22rsa-key-20160402%22%0AAAAAB3NzaC1yc2EAAAABJQAAAgEAiL0jjDdFqK%2FkYThqKt7THrjABTPWvXmB3URI%0ApGKCP%2FjZlSuCUP3Oc%2BIxuFeXSIMvVIYeW2PZAjXQGTn60XzPHr%2BM0NoGcPAvzZf2%0Au57aX3YKaL93cZSBHR97H%2BXhcYdrm7ATwfjMDgfgj7%2BVTvW4nI46Z%2BqjxmYifc8u%0AVELolg1TDHWY789ggcdvy92oGjB0VUgMEywrOP%2BLS0DgG4dmkoUBWGP9dvYcPZDU%0AF4q0XY9ZHhvyPWEZ3o2vETTrEJr9QHYwgjmFfJn2VFNnD%2F4qeDDHOmSlDgEOfQcZ%0AIm%2BXUOn9eVsv%2F%2FdAPSY%2FyMJXf8d0ZSm%2BVS29QShMjA4R%2B7yh5WhsIhouBRno2PpE%0AVVb37Xwe3V6U3o9UnQ3ADtL75DbrZ5beNWcmKzlJ7jVX5QzHSBAnePbBx%2FfyeP%2Ff%0A144xPtJWB3jW%2FkXjtPyWjpzGndaPQ0WgXkbf8fvIuB3NJTTcZ7PeIKnLaMIzT5XN%0ACR%2BxobvdC8J9d6k84%2Fq%2FlaJKF3G8KbRGPNwnoVg1cwWFez%2Bdzqo2ypcTtv%2F20yAm%0Az86EvuohZoWrtoWvkZLCoyxdqO93ymEjgHAn2bsIWyOODtXovxAJqPgk3dxM1f9P%0AAEQwc1bG%2BZ%2FGc1Fd8DncgxyhKSQzLsfWroTnIn8wsnmhPJtaZWNuT5BJa8GhnzX0%0A9g6nhbk%3D%0A—-%20END%20SSH2%20PUBLIC%20KEY%20—- » message= »Format SSH2″ highlight= » » provider= »manual »/]

[pastacode lang= »bash » manual= »ssh-rsa%20AAAAB3NzaC1yc2EAAAABJQAAAgEAiL0jjDdFqK%2FkYThqKt7THrjABTPWvXmB3URIpGKCP%2FjZlSuCUP3Oc%2BIxuFeXSIMvVIYeW2PZAjXQGTn60XzPHr%2BM0NoGcPAvzZf2u57aX3YKaL93cZSBHR97H%2BXhcYdrm7ATwfjMDgfgj7%2BVTvW4nI46Z%2BqjxmYifc8uVELolg1TDHWY789ggcdvy92oGjB0VUgMEywrOP%2BLS0DgG4dmkoUBWGP9dvYcPZDUF4q0XY9ZHhvyPWEZ3o2vETTrEJr9QHYwgjmFfJn2VFNnD%2F4qeDDHOmSlDgEOfQcZIm%2BXUOn9eVsv%2F%2FdAPSY%2FyMJXf8d0ZSm%2BVS29QShMjA4R%2B7yh5WhsIhouBRno2PpEVVb37Xwe3V6U3o9UnQ3ADtL75DbrZ5beNWcmKzlJ7jVX5QzHSBAnePbBx%2FfyeP%2Ff144xPtJWB3jW%2FkXjtPyWjpzGndaPQ0WgXkbf8fvIuB3NJTTcZ7PeIKnLaMIzT5XNCR%2BxobvdC8J9d6k84%2Fq%2FlaJKF3G8KbRGPNwnoVg1cwWFez%2Bdzqo2ypcTtv%2F20yAmz86EvuohZoWrtoWvkZLCoyxdqO93ymEjgHAn2bsIWyOODtXovxAJqPgk3dxM1f9PAEQwc1bG%2BZ%2FGc1Fd8DncgxyhKSQzLsfWroTnIn8wsnmhPJtaZWNuT5BJa8GhnzX09g6nhbk%3D » message= »Format OpenSSH » highlight= » » provider= »manual »/]

Les deux formats sont plutôt similaires.
Pour obtenir une clé au format OpenSSH depuis une clé au format SSH2, il suffit de supprimer la première et dernière ligne  » —- **** SSH2 PUBLIC KEY —-  » et la ligne  » Comment: « .
Puis de retirer les sauts de ligne pour tout mettre sur une seule ligne par clé.
Chaque clefs devra commencer par (à modifier suivant le type de clef) « ssh-rsa ».

[pastacode lang= »bash » manual= »ssh-keygen%20-i%20-f%20clef_ssh2.pub » message= »Convertir une clef SSH2 vers OpenSSH » highlight= » » provider= »manual »/]

[pastacode lang= »bash » manual= »for%20i%20in%20%60ls%20-1%20*pub%60%3B%20do%20echo%20%22%24(ssh-keygen%20-i%20-f%20%24i)%20%24i%22%3B%20done » message= »Pour convertir toute les clefs (*.pub) SSH2 d’un repertoire en OpenSSH » highlight= » » provider= »manual »/]

[pastacode lang= »bash » manual= »for%20i%20in%20%60ls%20-1%20*pub%60%3B%20do%20echo%20%22%24(ssh-keygen%20-i%20-f%20%24i)%20%24i%20%3E%3E%20~%2F.ssh%2Fauthorized_keys%22%3B%20done » message= »Pour convertir toute les clefs SSH2 d’un repertoire et les mettre directement en OpenSSH dans ~/.ssh/authorized_keys » highlight= » » provider= »manual »/]

25 avril 2016 /

[pastacode lang= »bash » manual= »yum%20-y%20install%20openssh-server » message= »Installation de Openssh » highlight= » » provider= »manual »/]

[pastacode lang= »bash » manual= »mkdir%20%2Fchroot_sftp » message= »Création du répertoire qui va accueillir le Chroot » highlight= » » provider= »manual »/]

[pastacode lang= »bash » manual= »ssh%20-V » message= »On s’assure d’avoir une version supérieur à la 4.9″ highlight= » » provider= »manual »/]

[pastacode lang= »bash » manual= »chown%20root%3Aroot%20%2Fchroot_sftp » message= »On s’assure que root:root est propriétaire » highlight= » » provider= »manual »/]

Le répertoire chrooté doit impérativement appartenir à root (login:groupe).
Pour un autre utilisateur voir l’option « bind » de la commande mount.

[pastacode lang= »bash » manual= »addgroup%20sftpusers » message= »Création du groupe sftpusers » highlight= » » provider= »manual »/]

[pastacode lang= »bash » manual= »vi%20%2Fetc%2Fssh%2Fsshd_config » message= »Configuration d’Openssh » highlight= » » provider= »manual »/]

Il faut préciser ici, que l’on utilise le serveur sftp interne à OpenSSH.
Nous activons également le chroot sur le répertoire /chroot_sftp pour tous les utilisateurs du groupe sftpusers et nous interdisons, par mesure de sécurité, la redirection X11 ainsi que le tunnel TCP.

On commence par commenter et modifie le paramètre « Subsystem »:

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

Puis on met ça juste à la fin du fichier :

 Match Group sftpusers
ChrootDirectory /chroot_sftp
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no

Le partie « Match » doit absolument se trouver à la fin du fichier comme on peut le voir dans le man de sshd_config.

Dans le paramètre « ChrootDirectory » on peut rajouter %u pour un répertoire portant le nom de l’utilisateur, ou simplement %h pour le répertoire /home de l’utilisateur

Match
Introduces a conditional block. If all of the criteria on the Match line are satisfied, the keywords on the following lines override those set in the global section of the config file, until either another Match line or the end of the file.

[pastacode lang= »bash » manual= »useradd%C2%A0%20–gid%20sftpusers%20–groups%20sftpusers%20-m%20–shell%20%2Fbin%2Ffalse%20-d%20%2Fchroot_sftp%20sftp1″ message= »Création du compte client sftp1″ highlight= » » provider= »manual »/]

[pastacode lang= »bash » manual= »mkdir%20%2Fchroot_sftp%2Fsftp1%0Achown%20sftp1%3Asftp1%20%2Fchroot_sftp%2Fsftp1%0Achmod%20700%20%2Fchroot_sftp%2Fsftp1″ message= »Création de son répertoire de travail sftp » highlight= » » provider= »manual »/]

[pastacode lang= »bash » manual= »%2Fetc%2Finit.d%2Fssh%20restart » message= »On relance ssh » highlight= » » provider= »manual »/]

[pastacode lang= »bash » manual= »systemctl%20restart%20sshd.service » message= »ou » highlight= » » provider= »manual »/]

[pastacode lang= »bash » manual= »sftp%20sftp1%40localhost » message= »Test de bon fonctionnement » highlight= » » provider= »manual »/]