Installation OpenSSH sur Solaris 8
Par Pierre le lundi 25 octobre 2004, 15:36 - Solaris - Lien permanent
Description de l'installation d'OpenSSh Version 3.5p1 ainsi que de ses dépendances sur une plateforme Solaris 8
Prérequis à l'installation d'OpenSSH
Afin de satisfaire les dépendances requises package openssh version 3.5p1, les packages suivants devront être installés :
- openssl version 0.9.6g
- libgcc version 3.2
- et le package openssh version 3.5p1
L'ensemble des packages ont été téléchargés sur le site SunFreeware.Com.
Selon la version des patchs du système, il peut s'avérer nécessaire d'installer le patch système 112438 (Random Patches). Cette installation est nécessaire au bon fonctionnement du serveur sshd . La dernière version de ce patch est disponible sur le site du constructeur SUN.
Description de l'installation
Eventuelle installation du patch 112438
Si le patch 112438 est installé, la commande :
showrev –p | grep 112438
doit renvoyer une sorie du type :
Patch: 112438-01 Obsoletes: Requires: Incompatibles: Packages: SUNWcarx, SUNWcsr, SUNWmdb, SUNWmdbx, SUNWhea
Si c'est la cas, toute la partie concernant l'installation du patch peut être ignorée, sinon on procédera à l'installation du patch de manière classique.
L’installation du patch proprement dit se fait de manière classique :
patchadd –M /tmp 112438-01
L’installation du patch nécessite un redémarrage du serveur pour que celui ci effectue la reconstruction des ses périphériques (fichiers présents dans /dev et /devices). Cependant dans le cas d’un serveur de production, où un redémarrage ne peut pas être envisagé, il est possible d’effectuer les opérations de façon manuelle et sans perturber le service. L’opération va consister à charger le driver « Random » dans le noyau et à créer les devices correspondant.
On passe donc les commandes suivantes afin de s'assurer que le driver n'est plus présent dans le noyau :
rem_drv random
Cette première commande produira vraisemblablement une erreur, elle est uniquement là pour s’assurer que le driver n’a pas été préalablement enregistré auprès du système, et permet de s’assurer que la commande suivante enregistrera le driver correctement au niveau du système.
add_drv random
Cette commande permet d’enregistrer le driver auprès du système d’exploitation. On vérifiera le code de retour de cette dernière :
echo $?
Et on s’assurera que celui ci est égal à 0
Ensuite, afin de pouvoir créer les périphériques il est nécessaire de récupérer le major correspondant dans le fichier /etc/name_to_major.
MAJOR=$(grep -w random /etc/name_to_major | awk '{print $2}')
Les devices sont créés via la commande suivante :
mknod /devices/pseudo/@0:random c ${MAJOR} 0
mknod /devices/pseudo/@0:urandom c ${MAJOR} 1
On leur donne les bons droits (au niveau du groupe)
chgrp sys /devices/pseudo/*random*
puis on crée les liens dans /dev :
ln -s ../devices/pseudo/random@0:random /dev/random ln –s ../devices/pseudo/random@0:urandom /dev/urandom
Le chargement du driver dans le noyau est alors effectué :
modload /kernel/drv/random
Arrêt des services et désinstallation des packages préalablement installés ( mise à jour )
Dans le cas d’une installation et non d’une mise à jour, cette étape sera omise
Les démons qui seront mis à jour doivent être arrêtés avant d’effectuer la mise à jour. Par conséquent, à partir de l’étape suivante, il est nécessaire d’effectuer une connexion sur la console, ou via le protocole telnet.
Arrêt du démond prngd :
/etc/init.d/prngd stop
Arrêt du démond sshd :
/etc/init.d/sshd stop
L’opération est effectuée à l’aide de la commande pkgrm :
pkgrm –n SMCossh pkgrm –n SMCprngd pkgrm –n SMCosslc
Lors de l’opération si une confirmation d’effacement est demandée, on répondra de manière affirmative (yes).
Installation des nouveau packages et démarrage des services
Décompression des paquets téléchargés :
gunzip /tmp/openssh-3.5p1-sol8-sparc-local.gz gunzip /tmp/openssl-0.9.6g-sol8-sparc-local.gz gunzip /tmp/libgcc-3.2-sol8-sparc-local.gz
puis installation des paquetages :
pkgadd -d /tmp/openssl-0.9.6g-sol8-sparc-local pkgadd -d /tmp/openssh-3.5p1-sol8-sparc-local pkgadd -d /tmp/libgcc-3.2-sol8-sparc-local
On s'assure que le scripts de démarrage sshd est bien présent dans /etc/init.d et que le lien a bien été mis en place dans /etc/rc2.d :
ln /etc/init.d/sshd /etc/rc2.dS99sshd
Ajout d'un utilisateur sshd
mkdir /var/empty chown root:sys /var/empty chmod 755 /var/empty groupadd sshd useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd
/var/empty should not contain any files.
Génération des clefs publiques et privés du serveur :
/usr/local/bin/ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N "" /usr/local/bin/ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N "" /usr/local/bin/ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N ""
Puis redémarrage du service :
/etc/init.d/sshd start
La commande "ssh -V" doit désormais renvoyer "OpenSSH_3.5p1, SSH protocols 1.5/2.0, OpenSSL 0x0090607f"
Commentaires
Merci cela m'a sauvé la vie.
En plus, venant d'un utilisateur de dotclear, ca fait plaisir