Entrez vos identifiants

x
OU
Vous avez oublié votre mot de passe ?
Utilisateur wiki : vous n'aviez pas d'email ?

Korben - Site d'actualité geek et tech

Go Top

Login SSH sans mot de passe

Login SSH sans mot de passe

Je suis en train de re-paramétrer des backups depuis mon NAS avec Rsync et du coup, j'ai autorisé une clé SSH afin de ne pas avoir de mot de passe à entrer (et pouvoir mettre la commande Rsync dans un cron).

Voici donc la procédure quick&dirty que j'ai utilisée pour le jour où vous aurez besoin d'un login ssh sans mot de passe.

Pour cela, sur la machine locale, il suffit de faire un petit :

ssh-keygen -t dsa -f $HOME/.ssh/id_votrecle -P ''

Cela générera une clé sans passphrase. Vous pouvez ajouter une passphrase, mais dans ce cas, il faudra la préciser en clair dans vos scripts en faisant un "export PASSPHRASE=mapassphrase" avant de balancer la commande SSH.

Copiez la clé publique comme ceci sur le serveur distant :

scp -p /root/.ssh/id_votrecle.pub  root@xxx.xxx.xxx.xxx:/root/.ssh/

xxx.xxx.xxx.xxx représente l'IP de la machine distante.

Hop, c'est copié.

Pensez aussi à autoriser les authorized_keys dans sshd_config

nano /etc/ssh/sshd_config

Et décommentez

AuthorizedKeysFile      %h/.ssh/authorized_keys

Rechargez la config ssh

/etc/init.d/ssh force-reload

Copiez ensuite votre clé publique dans le fichier authorized_keys

cat id_votrecle.pub >> authorized_keys

Sachez qu'il est possible de préciser l'origine de la connexion dans le fichier authorized_keys avec le paramètre "from" (je vous laisse creuser ça).

Et voilà !

Maintenant sur votre machine locale, pour vous connecter à votre serveur distant simplement avec la clé, il suffit de la préciser comme ceci avec le paramètre -i :

ssh -i /root/.ssh/id_votrecle root@xxx.xxx.xxx.xxx

Et du coup, pour ma commande Rsync par exemple, ceci se présente comme ça :

rsync -e "ssh -i /root/.ssh/id_votrecle" -av root@xxx.xxx.xxx.xxx:/source/ /destination/

Vous avez surement mille autres variantes en tête. Moi j'ai fait ça comme ça, rapidement, mais n'hésitez pas à partager vos compléments d'astuces dans les commentaires.


Facebook Twitter Email Copier Url

21 Responses to “Login SSH sans mot de passe”

  1. Dodutils dit :

    Attention à vérifier les droits sur le fichier de la clé.

  2. Kebree dit :

    Je dirai même les droits sur le /home/user (755 au maximum), les droits sur le /home/user/.ssh (755 au maximum aussi) et enfin les droits sur /home/user/.ssh/authorized_keys (644 au maximum) le mieux étant respectivement 755/700/600

  3. Jakikiller dit :

    700 c’est le mieux pas 755

  4. Laurent Gärtner dit :

    et parfois sshd refuse l’accès à .ssh s’il n’est pas en 700…

  5. pipomolo dit :

    man ssh-copy-id :-)

  6. Nicolas Richard dit :

    Je l’ai personnellement toujours fait sur mes dédiés.
    Par fainéantise (mère de tous les informaticiens).

  7. Korben dit :

    J’y ai bien pensé mais sur mon Synology, y’a pas. ;-)

    Merci

  8. boulatedeux dit :

    Il me semble qu’il y a beaucoup plus simple maintenant Korben.

    J’utilisais cette méthode avant, mais j’ai découvert il y a quelques années “ssh-copy-id”.
    Ce n’est pas un paquet supplémentaire à installer, il est installé par défaut avec ssh.

    Il te suffit d’avoir fait au moins ton ssh-keygen (normal) et ensuite un simple:
    ssh-copy-id -i ~/.ssh/id_rsa.pub @IP_MACHINE

    Te permettra par la suite de te connecter en ssh sans mot de passe au le serveur visé.
    (Bien entendu tu peux choisir l’utilisateur concerné avec un “user@ip” classique).

  9. sdblepas dit :

    le gars il utilise nano, non mais nano quoi!!

  10. Kadcom dit :

    C’est clair, tout le monde devrait se faire chier à apprendre des commande à rallonge incompréhensible avec vi

  11. TZ dit :

    vi n’est rien à côté d’emacs qui, lui, a des rallonges de rallonges…

  12. David ROELANDT dit :

    Je me garde ce topic pour mémo, j’ai exactement la même problématique à retravailler @home :)

  13. Thibault dit :

    Hello,

    Voilà un petit tuto pas mal sur le sujet:

    http://blogmotion.fr/systeme/connexion-ssh-et-transfert-rsync-scp-sftp-sans-mot-de-passe-2709

    En espérant que ça puisse en aider certain(e)s ^_^

  14. pommespin dit :

    pourquoi pas keychain pour avoir une clé protégée par passphrase qu’on ne débloque qu’au boot?

  15. Yankel Scialom dit :

    Bonjour tout le monde.

    J’aimerais vous proposer une alternative à l’utilisation d’une clé ssh : rsync en mode daemon.

    * De quoi s’agit-il ?
    Tout est expliqué dans le section DAEMON du man de rsync ; mais en gros il s’agit de faire tourner rsync en mode daemon sur le serveur (le NAS par exemple). Les deux gros avantages sont :
    > ce daemon n’aura accès qu’à une partie du fs (un peu comme un chroot, mais pour le coup, en plus simple) ;
    > il est possible de donner accès à ce serveur rsync à des utilisateurs non présent dans /etc/passwd.

    * Comment faire ?
    > Activer sur le serveur le mode daemon (sur un debian-like, il s’agit de passer la variable RSYNC_ENABLE à true dans /etc/default/rsync)
    > Configurer le daemon (exemple sur debian-like) :
    $ cat /etc/rsyncd.conf
    lock file = /var/run/rsync.lock
    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid

    []
    path=
    uid = system_user_owning_the_path
    gid = system_group_owning_the_path
    read only =
    auth users =
    secrets file =

    $ sudo cat
    user1:passwd

    > Se connecter depuis une machine distante :
    echo passwd > /tmp/pwd
    chmod 0600 /tmp/pwd
    rsync $FLAGS –password-file /tmp/pwd $LOCAL_SOURCE user1@$SERVER::/subpath

    * Quels avatages sur une clé ssh ?
    Lorsque l’on donne accès à une machine par clé ssh à une autre, deux cas de figure sont possibles. Dans le premier, on encrypte la clé privée ; dans ce cas, il faut tout de même entrer un mot de passe, mais tant que la machine reste allumée, ce mot de passe est « géré » par votre ssh-agent et vous n’aurez plus à le retaper. Dans le second cas, cette clé n’est pas encryptée ; vous donnez donc à toute personne ayant un accès physique à votre machine un accès à la seconde machine (sauf si vous encryptez votre fs, auquel cas il vous faut tout de même entrer une fois un mot de passe, comme dans le premier cas).
    Avec le daemon rsync, vous créez un utilisateur « bidon » n’ayant accès qu’à un des domaines du serveur ; et quand bien même celui-ci était comprimis, personne ne pourra (sauf gros bug dans rsync) remonter en dehors du pseudo-chroot de rsync ; et rien ne pourra être tiré du couple user:passwd.
    Ainsi, lorsque vous voulez juste permettre la synchronisation de répertoires, pensez à rsync daemon ;)

    Bien cordialement,
    Yankel Scialom.

  16. toto dit :

    Moi aussi je faisait tous ces manip’ jusqu’à ce que je découvre btsync. Un peu gourmand en mémoire quand on traite bcp de fichiers. Mon syno 411j n’a pas aimé, les autres (211) no soucy. Dans ce principe j’aime surtout l’idée d’un système décentralisé où un des points peut tomber sans faire tomber tous le systeme. Un principe originel d’internet.

  17. Korben dit :

    Merci pour ces précisions. Je vais tester tout ça alors.

  18. RedBug dit :

    Perso, sur Mac, j’utilise KyPass companion: http://www.kyuran.be/blog/tag/kypass-mac/

    J’appuie sur ⌘ ⌥ K et Kypass m’ouvre toutes les entrées de ma base keepass avec une url commencant par ssh://

    Si l’url contient ssh://{USERNAME}:{PASSWORD}@IP, lorsque je selectionne l’entrée, il ouvre un terminal, se connecte en ssh sur le serveur et envoit le login, mot de passe.

  19. Laurent Gärtner dit :

    Pour ma part, je supprime l’authentification par mot de passe, je jette les connexions à SSH qui ne répondent pas sous quelques secondes sans retries

    Dans sshd_config

    PasswordAuthentication no
    ChallengeResponseAuthentication no

    LoginGraceTime 20s

    MaxAuthTries 1

    Et je jette, je jette…

    iptables -A INPUT -i eth0 -p tcp –dport 22 -m state –state NEW -m recent –set
    iptables -A INPUT -i eth0 -p tcp –dport 22 -m state –state NEW -m recent –update –seconds 90 –hitcount 5 -j LOG –log-prefix=”SSH BRUTEFORCE BANNED”
    iptables -A INPUT -i eth0 -p tcp –dport 22 -m state –state NEW -m recent –update –seconds 90 –hitcount 5 -j DROP

  20. pandrieux dit :

    Un complément d’info par ici, notamment comment se connecter avec une commande type “ssh ServeurDistant” http://appventus.com/blog/se-connecter-a-des-serveurs-via-ssh-sans-mot-de-passe-authorized_keys

  21. kalilinux dit :

    Utiliser plutot du RSA 2048 bits et penez aux droits chmod 700… : http://www.ssi.gouv.fr/IMG/pdf/NP_OpenSSH_NoteTech.pdf

La menace des failles 0-Day

capture-vjhj

"En avril 2014, les chercheurs en sécurité de Google sont tombé sur une vulnérabilité présente à l’intérieur de la bibliothèque cryptographique OpenSSL. Petit problème, OpenSSL est utilisé sur les 2/3 des sites web qui utilisent HTTPS mais aussi par les téléphones Android. Heartbleed était né."

Si comme moi vous êtes un passionné de sécurité informatique et que vous vous demandez qu'est-ce qu'un truc comme Heartbleed peut causer comme dommages, la lecture de cet article sur les failles 0-Day est pour vous...et je vous rassure je ne parle pas du dernier film Blackhat récemment vu au ciné ;)

Lire la suite

Vous avez aimé cet article ? Alors partagez-le avec vos amis en cliquant sur les boutons ci-dessous :

Twitter Facebook Google Plus Linkedin email
Rejoignez les 55229 korbenautes
et réveillez le bidouilleur qui est en vous
abonnez-vous en savoir plus
"Vous aimez bidouiller ?" Oui j'adore l'informatique et la technologie
Suivez Korben Un jour ça vous sauvera la vie.. Ou celle d'un(e) ami(e)
  • Rejoignez les 55229 bidouilleurs de la grande famille des Korbenautes
    «Je considère que votre email est aussi important que le mien.»
    Korben
  •  
  • Site hébergé par
    Agarik Sponsor Korben
  • Univers Populaires

  • Rejoignez les 55229 bidouilleurs de la grande famille des Korbenautes
    «Je considère que votre email est aussi important que le mien.»
    Korben
  • Vidéos

  • DANS TON CHAT (BASHFR)

    <Xadeon> je fais peur maintenant, c'est tout neuf
    <wellspring> pire que le grand huit :)
    <Xadeon> pire qu'un se(p)t de baffles dans t(a)g :D
    <wellspring> tu te crois six fort que ca ?
    <Xadeon> ...
    <wellspring> une paire de cinq du bonheur ! :)
    <wellspring> enfin étant geeks, on n'est pas près d'en voir une, un de ces quatre :/
    <Xadeon> arrête, ou je t'envoie un cheval de trois si tu continues !
    <wellspring> je n'ai pas peur deux.
    <Xadeon> hein ?
    <SerialK> burp ! ups, désolé zeroté !

    -- http://danstonchat.com/5358.html
  • Une astuce pour rendre

    Windows 10 plus rapide

    Si vous trouvez que Windows 10 est un peu lent, que vos applications ne se lancent pas très vite, que vos compilations prennent du temps, voici une petite astuce débusquée par Brominou pour accélérer le bouzin. Cliquez dans la zone de recherche de la barre Windows et tapez le mot clé...lire la suite

    Cryptool pour s'initier à la cryptographie

    Alors attention, ce n'est pas nouveau, mais je me suis dit que ce serait intéressant de vous en parler si vous ne connaissez pas encore. Cryptool est un logiciel open source éducatif qui va vous permettre de comprendre les principes de base de la cryptographie. Dans sa version 2, Cryptool intègre...lire la suite

    En ce moment dans l'univers "Windows"

    Voir tous les articles »