Comment faire : Nmap, Wireshark, TCPdump, IPTraf, IPerf, Nast, Ettercap...
 Charge moyenne sur 1mn : 0.43 Charge moyenne sur 5mn : 0.38 Charge moyenne sur 15mn : 0.29




SSH - SCP par certificats

  • SSH - SCP par certificats
Ce howto explique comment se connecter d'une machine à une autre en SSH sans mot de passe. Pour pouvoir envoyer grâce à scp des fichiers sans qu'un utilisateur soit présent sur le bash (pour effectuer par exemple des sauvegardes automatisées) nous allons utilisé OpenSSL.

Informations

Dates
  • Publication : Jeudi 17 novembre 2005
  • Modification : Jeudi 01 septembre 2011

Partager

Nous allons donc créer une paire de clés SSL de longueur 2048 bits publique/privé que nous utiliserons pour remplacer le mot de passe de l'utilisateur. Celui-ci poura se connecter de son client SSH préféré ou grâce à un script sans devoir taper de mot de passe.

Du poste duquel vous souhaitez vous connecter :

ssh-keygen va générer une paire de clef publique et privé dsa (-t dsa) de longueur 2048 bits (-b 2048).

001 ssh-keygen -b 2048 -t dsa

Vous pouvez aussi créer une clef rsa avec le paramètre -t rsa (ssh-keygen -b 2048 -t rsa). Si vous n'aimez pas le nom standard de la clef SSH vous pouvez aussi le changer avec le paramètre -f nom_de_la_clef

ssh-keygen vous demandera aussi de choisir l'emplacement de la clef mais je vous conseille de garder l'emplacement par défaut. Ensuite il vous demandera d'entrée une passphrase.

Après cela vous disposerez de deux fichiers dans votre dossier ~/.ssh/

001 * ~/.ssh/id_dsa : votre clef privée
002 * ~/.ssh/id_dsa.pub : votre clef publique 

Copiez votre clef ssh publique sur un serveur distant :

Nous envoyons sur notre serveur distant la clé publique.

001 scp .ssh/id_dsa.pub save@serveurdistant.com:

Se connecter sur un serveur ssh distant et y mettre notre clef ssh au bon endroit :

Copier le contenu de la clé publique dans le fichier ~/.ssh/authorized_keys puis supprimer la clé et attribuer les droits de lecture que pour votre utilisateur.

001 cat id_dsa.pub >> .ssh/authorized_keys
002 rm id_dsa.pub
003 chmod 700 .ssh
004 chmod 600 .ssh/authorized_keys

Retourner sur votre le poste duquel vous souhaitez lancer la connexion distante

Utiliser ssh-agent comme il se doit ;)

Ajouter ceci à votre $HOME/.profile (Cela permet d'avoir notre ssh-agent à jour, de pouvoir l'utiliser depuis une console et depuis un script) :

001 SSH_ENV="$HOME/.ssh/environement"
002 function start_agent {
003      echo "Initialising new SSH agent..."
004      /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
005      echo succeeded
006      chmod 600 "${SSH_ENV}"
007      . "${SSH_ENV}" > /dev/null
008      /usr/bin/ssh-add;
009 }
010 
011 # Source SSH settings, if applicable
012 if [ -f "${SSH_ENV}" ]; then
013      . "${SSH_ENV}" > /dev/null
014      #ps ${SSH_AGENT_PID} doesn't work under cywgin
015      ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
016          start_agent;
017      }
018 else
019      start_agent;
020 fi

Reconnectez-vous.. une fois authentifié, le shell vous demandera (commande ssh-add .ssh/id_dsa) de taper votre passphrase. Essayez depuis cette console de vous connecter à la machine distante, ca fonctionne ;)

Puis, si vous souhaitez utiliser un script exécuter depuis une crontab, il faut ajouter l'include suivant . $HOME/.ssh/environement à votre script.

Voilà vous pouvez maintenant vous connectez sur le serveur distant sans avoir à rentrer votre mot de passe, nous utilisons authentification par "paire de clés".


LAB3W.ORJ Alias de O.Romain JAILLET-RAMEY (NOTIF LVL 7 - 42 ans) LAB3W.ORJ
CONTACT
- Web - STEAM - Monster - LinkedIn - Viadeo - DailyMotion - FACEBOOK - GOOGLE+ - Twitter
DROITS SITES : ZW3B.Admin
INSCRIPTION : Le samedi 06 janvier 1 (2001/01/06 15:31)
CONNEXION : il y a un peu plus de 11 jours (2019/05/15 17:08)
DERNIERE VISITE : il y a bientôt 7 jours (2019/05/20 04:13)

les réactions des ZW3B.Nautes (0 note)

Ajouter un commentaire

Avatar par default
Pseudo :
Email :
 
Ajouter la chaine de caractères (le code) ci-dessous dans le champ du dessous.
Captcha
Code :





Valid XHTML 1.0 Strict CSS Valide !

ipv6 ready