Prérequis
L’utilisateur doit avoir un répertoire initial dans l’IFS. (C’est lui qui sera indiqué par le ~ dans les commandes ci-dessous)
Produits Open Sources :
OpenSSL
SFTP
S’assurer que le service SSH est démarré :
Démarrage du service SSH
S’assurer que le service SSH est démarré :
WRKTCPSTS OPTION(*CNN)
S’il n’est pas démarré, via 5250 :
STRTCPSVR SERVER(*SSHD)
Génération des clefs SSH
En 5250 (QSH ou QP2TERM) :
CALL PGM(QP2TERM)
S’il n’exsite pas, on crée le répertoire .ssh, via la commande mkdir, dans le répertoire par défaut de
l’utilisateur, on lui attribue les droits de lecture, écriture et execution via la commande chmod, puis on execute
la commande ssh-keygen :
mkdir ~/.ssh/ chmod 700 ~/.ssh ssh-keygen -t rsa -b 2048 -f ~/.ssh/sftp_key -N ''
Voici une idée du résultat obtenu :
Generating public/private rsa key pair. Your identification has been saved in /home/exploit/.ssh/sftp_key. Your public key has been saved in /home/exploit/.ssh/sftp_key.pub. The key fingerprint is: SHA256:pDxRGtx4YBKbsHTVLpDg8OXyF5VcSBKgfpX4eGXqaGY The key's randomart image is: +---[RSA 2048]----+ |. +.**BO++. | | = Bo*oBB | | * =.*o+ | | . o =.O. | | . + O.S | | . = . | | E . | | + | | | +----[SHA256]-----+
Informations supplémentaires : |
Options |
-t Type de clef créée. |
-b Nombres de bits dans la clef créée. |
-f Fichier de sortie. |
-N Phrase de chiffrement. |
Mise en place de la configuration des clefs
Côté client
ATTENTION aux droits des fichiers contenus dans le dossier /.ssh qui ne doit contenir, en principe, que les clefs privées et le fichier config (qui est optionnel).
Côté serveur
S’il n’exsite pas, on crée le répertoire .ssh sur le serveur, via la commande mkdir, dans le répertoire par
défaut de l’utilisateur, on lui attribue les droits de lecture, écriture et execution via la commande chmod :
mkdir ~/.ssh chmod 700 ~/.ssh
Déposer la clef publique sur le serveur distant puis, ajouter la clef publique au fichier authorized_keys :
cat [sshKey.pub] >> authorized_keys
Puis vérifier le propriétaire et les droits du fichier authorized_keys :
chown [userName] ~/.ssh/authorized_keys chmod 600 authorized_keys
Supprimer le fichier contenant la clef publique.
ATTENTION aux droits des fichiers contenus dans le dossier /.ssh qui ne doit contenir, en principe, que la clef publique
Tester la liaison SSH
Via QSH ou QP2TERM
ssh -T -i [privateKey] [remoteUserName]@[serverName]
Options :
-T Désactivez l’allocation de pseudo-terminal
-i Fichier privé
Tester la liaison SFTP
Via QSH ou QP2TERM
sftp -i [privateKey] [remoteUserName]@[serverName]
-i Fichier privé
Merci à Julien LAURIER pour sa contribution à l’écriture de cet article.