Social Icons

vendredi 17 août 2012

comment installer et configurer un serveur securise ssh (secure shell)

Ce document me sert de mémo pour installer et utiliser SSH sous Linux. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.
Les instructions de ce document sont données pour une Debian ETCH, mais il est possible de les adapter aux autres distributions.

Pré-requis

Avoir installé une Debian de Base :


  •  cf mon autre document sur ce sujet : http://www.coagul.org/article.php3 ?id_article=158

    Installation et configuration de SSH

    Installation du paquet :
    # aptitude install openssh-client openssh-server
    Une fois les paquets installés, le client et le serveur seront directement utilisables. Il est possible depuis ce poste de se connecter à un autre serveur SSH ou il est possible de se connecter à ce poste via SSH depuis un autre poste.
    Cependant, il est préférable pour augmenter la sécurité, de modifier le fichier de configuration :
    Fichier de configuration du démon sshd :
    /etc/ssh/sshd_config
    Pour interdire la connexion directe sous root, modifier la ligne suivante :
    PermitRootLogin no
    Ajouter la ligne suivante pour autoriser uniquement pglinux
    AllowUsers pglinux
    Redémarrer le démon pour prendre en compte les modifications :
    /etc/init.d/ssh restart

    Commandes pour se connecter à un serveur distant

    La commande suivante, permet de se connecter au serveur pgdebian sous l’identité de celui qui lance la commande :
    $ ssh pgdebian
    Il est possible de préciser un autre login avec le paramètre -l :
    $ ssh -l root pgdebian
    Il est possible aussi d’utiliser la syntaxe suivante pour se connecter à pgdebian sous root :
    $ ssh root@pgdebian

    Connexion à un serveur SSH via un autre serveur SSH

    Si vous avez deux serveurs SSH mais qu’il est nécessaire de se connecter au premier pour pouvoir accéder au deuxième, cette commande permet de réaliser les deux connexions :
    ssh root@serveur1 -t ssh root@serveur2
    Remarque : Cela est surtout intéressant si la connexion aux serveurs se fait via une clé public (cf chapitre suivant)

    Connexion SSH en utilisant une clé privée et une clé public

    Une connexion SSH en utilisant une clé privée et une clé public est plus sécurisée qu’une connexion classique par mot de passe. De plus elle permet d’éviter de ressaisir un mot de passe à chaque connexion.
    Création de la clé privée et de la clé public :
    $ ssh-keygen -t dsa
    Après la saisie de la pass-phrase (Mot de passe long), cette commande va générer deux fichiers dans le dossier «  /.ssh » :
  •  La clé privée : id_dsa
  •  La clé public : id_dsa.pub
    Ensuite, il faut exporter la clé public sur le ou les serveurs distant à utiliser avec ssh :
    $ ssh-copy-id -i .ssh/id_dsa.pub root@NomDuServeurSSH
    Après la copie de cette clé, à chaque connexion via ssh, la pass-phrase sera demandée.
    Pour éviter de saisir la pass-phrase (qui normalement est encore plus longe que le mot de passe), il est possible d’utiliser le démon ssh-agent qui se chargera de mémoriser la pass-phrase pour éviter de la ressaisir :
    Sous Debian le démon ssh-agent est lancé automatiquement au démarrage de la session.
    La commande suivante, permet de mémoriser la pass-phrase une fois pour toute pendant la durée de la session :
    $ ssh-add
    Une fois cette commande saisie, il est possible de se connecter aux différentes serveurs ssh sans saisir aucun mot de passe ou pass-phrase.
    $ ssh root@NomDuServeurSSH

    Copier des fichiers entre un serveur et un client ssh avec scp

    La commande scp livrée avec le paquet ssh, permet de copier des fichiers entre le serveur et le client ssh d’une manière sécurisée.
    La commande suivante, permet d’envoyer dans le répertoire /tmp du serveur pgdebian le fichier /etc/fstab disponible sur le serveur local :
    $ scp /etc/fstab root@pgdebian:/tmp

    Exécuter une commande à distance avec ssh

    La commande ssh, permet également d’exécuter une commande sur un serveur distant.
    Par exemple, la commande suivante, permet de se connecter sous root sur l’ordinateur pgdebian et d’exécuter la commande halt pour arrêter l’ordinateur :
    $ ssh root@pgdebian halt

    Lancer une application graphique disponible sur un serveur distant

    Pour lancer une application graphique sur un serveur distant, il suffit de se connecter avec l’option « -X » :
    $ ssh -X user@serveur
    Et de lancer l’application graphique en ligne de commande.
    Le paramètre « -C » permet de comprimer les données ce qui améliore (un peu) la réactivité :
    $ ssh -CX user@serveur
  • Abonnez-vous par e-mail

    Pour recevoire les nouvelles article