Étiquette : openssh

22 janvier 2019 /
Format SSH2
—- BEGIN SSH2 PUBLIC KEY —-

Comment: "rsa-key-20160402"
AAAAB3NzaC1yc2EAAAABJQAAAgEAiL0jjDdFqK/kYThqKt7THrjABTPWvXmB3URI
pGKCP/jZlSuCUP3Oc+IxuFeXSIMvVIYeW2PZAjXQGTn60XzPHr+M0NoGcPAvzZf2
u57aX3YKaL93cZSBHR97H+XhcYdrm7ATwfjMDgfgj7+VTvW4nI46Z+qjxmYifc8u
VELolg1TDHWY789ggcdvy92oGjB0VUgMEywrOP+LS0DgG4dmkoUBWGP9dvYcPZDU
F4q0XY9ZHhvyPWEZ3o2vETTrEJr9QHYwgjmFfJn2VFNnD/4qeDDHOmSlDgEOfQcZ
Im+XUOn9eVsv//dAPSY/yMJXf8d0ZSm+VS29QShMjA4R+7yh5WhsIhouBRno2PpE
VVb37Xwe3V6U3o9UnQ3ADtL75DbrZ5beNWcmKzlJ7jVX5QzHSBAnePbBx/fyeP/f
144xPtJWB3jW/kXjtPyWjpzGndaPQ0WgXkbf8fvIuB3NJTTcZ7PeIKnLaMIzT5XN
CR+xobvdC8J9d6k84/q/laJKF3G8KbRGPNwnoVg1cwWFez+dzqo2ypcTtv/20yAm
z86EvuohZoWrtoWvkZLCoyxdqO93ymEjgHAn2bsIWyOODtXovxAJqPgk3dxM1f9P
AEQwc1bG+Z/Gc1Fd8DncgxyhKSQzLsfWroTnIn8wsnmhPJtaZWNuT5BJa8GhnzX0
9g6nhbk=
---- END SSH2 PUBLIC KEY ----
Format OpenSSH
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAgEAiL0jjDdFqK/kYThqKt7THrjABTPWvXmB3URIpGKCP/jZlSuCUP3Oc+IxuFeXSIMvVIYeW2PZAjXQGTn60XzPHr+M0NoGcPAvzZf2u57aX3YKaL93cZSBHR97H+XhcYdrm7ATwfjMDgfgj7+VTvW4nI46Z+qjxmYifc8uVELolg1TDHWY789ggcdvy92oGjB0VUgMEywrOP+LS0DgG4dmkoUBWGP9dvYcPZDUF4q0XY9ZHhvyPWEZ3o2vETTrEJr9QHYwgjmFfJn2VFNnD/4qeDDHOmSlDgEOfQcZIm+XUOn9eVsv//dAPSY/yMJXf8d0ZSm+VS29QShMjA4R+7yh5WhsIhouBRno2PpEVVb37Xwe3V6U3o9UnQ3ADtL75DbrZ5beNWcmKzlJ7jVX5QzHSBAnePbBx/fyeP/f144xPtJWB3jW/kXjtPyWjpzGndaPQ0WgXkbf8fvIuB3NJTTcZ7PeIKnLaMIzT5XNCR+xobvdC8J9d6k84/q/laJKF3G8KbRGPNwnoVg1cwWFez+dzqo2ypcTtv/20yAmz86EvuohZoWrtoWvkZLCoyxdqO93ymEjgHAn2bsIWyOODtXovxAJqPgk3dxM1f9PAEQwc1bG+Z/Gc1Fd8DncgxyhKSQzLsfWroTnIn8wsnmhPJtaZWNuT5BJa8GhnzX09g6nhbk=

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 ».

Convertir une clef SSH2 vers OpenSSH
ssh-keygen -i -f clef_ssh2.pub
Pour convertir toute les clefs (*.pub) SSH2 d'un repertoire en OpenSSH
for i in `ls -1 *pub`; do echo "$(ssh-keygen -i -f $i) $i"; done
Pour convertir toute les clefs SSH2 d'un repertoire et les mettre directement en OpenSSH dans ~/.ssh/authorized_keys
for i in `ls -1 *pub`; do echo "$(ssh-keygen -i -f $i) $i >> ~/.ssh/authorized_keys"; done
25 avril 2016 /

Installation de Openssh:

yum -y install openssh-server

On s’assure d’avoir une version supérieur à la 4.9:

ssh -V

Création du répertoire qui va accueillir le Chroot:

mkdir /chroot_sftp

On s’assure que root:root est propriétaire:

chown root:root /chroot_sftp

Le répertoire chrooté doit impérativement appartenir à root (login:groupe).

Création du groupe sftpusers:

addgroup sftpusers

Configuration d’Openssh:

vi /etc/ssh/sshd_config

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.

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.

Création du compte client sftp1:

useradd  --gid sftpusers --groups sftpusers -m --shell /bin/false -d /chroot_sftp sftp1

Création de son répertoire de travail sftp:

mkdir /chroot_sftp/sftp1
chown sftp1:sftp1 /chroot_sftp/sftp1
chmod 700 /chroot_sftp/sftp1

On relance ssh:

/etc/init.d/ssh restart

ou

systemctl restart sshd.service

Test de bon fonctionnement:

sftp sftp1@localhost