[Connexion SSH] CLé publique Clé Privée

Bonjour,

Pour me connecter d’un serveur dédié vers mon NAS synology @home, j’utilise le système de clé publique clé privée.

ça fonctionne, sauf que je ne veux plus devoir mettre ma passphrase, pour pouvoir monter et démonter un dossier du NAS dans un script.

J’ai utilisé les commande ssh-agent, et ssh-add (selon les recommandations de ce tuto).
Cela fonctionne parfaitement… jusqu’à un certain temps ou à un redémarrage.

Est-ce un problème de configuration, ou une limite due à debian (debian 7) ?

Puis résoudre ce problème, et si oui comment ?

Merci pour votre lecture.

Pour le reboot, c’est inévitable (quel intérêt sinon ? autant supprimer le mot de passe sur ta clé privée dans ce cas – fortement déconseillé).
Par contre pour la limite de temps tu as l’option -t (“durée de vie”) de ssh-add qui te permet d’ajuster ça.

Ok merci beaucoup pour cette réponse.

Alors, dans le cadre d’un script avec rsync du dédié vers mon synology @home, je veux monter un répertoire du Syno dans le dédié avec sshfs, puis le démonter en fin de script. Je voudrais créer un cron du script… mais le seul obstacle c’est cette histoire de durée de clé. Y aurait-il une astuce pour permettre au script, sans intervention humaine, de monter et démonter le répertoire distant donc sans devoir entrer un mdp quelconque ?

À part virer le mot de passe sur ta clé privée, la seule autre option que je vois c’est de mettre une durée ridiculement longue (plusieurs années) lors du ssh-add. Mais ça t’obligera quand même à taper le mot de passe une première fois après chaque redémarrage.

Après, cette histoire de mot de passe sur la clé ça dépend aussi beaucoup de l’utilisation que tu fais de la clé. Si elle ne te sert que pour ton NAS c’est déjà moins gênant que si elle te sert à plein de choses.

Ok, je viens de comprendre mon problème, mais je n’ai pas réussi à le régler :

le ssh-agent, je dois le lancer à chaque fois, il ne tourne pas en tâche de fond…

Donc, comment faire ?

(je vais me documenter pendant ce temps là ^^)

Merci pour votre lecture.

Bon, alors, c’est incompréhensible, j’ai modifié le temps, et rien n’y fait : à chaque fois que je me déconnecte et me reconnecte, pas moyen d’accéder en ssh sans la passphrase…

Voici ce que je fais :

Il me répond:

Je copie/colle ces trois lignes dans le terminal et il me répond :

[code]# SSH_AUTH_SOCK=/tmp/ssh-###########/agent.3459; export SSH_AUTH_SOCK;

SSH_AGENT_PID=3460; export SSH_AGENT_PID;

echo Agent pid 3460;

Agent pid 3460
[/code]

Puis je fais un :

# ssh-add -t 1254698753023549 Enter passphrase for /root/.ssh/id_dsa: Identity added: /root/.ssh/id_dsa (/root/.ssh/id_dsa) Lifetime set to 1366908477 seconds

Je me déconnecte, puis me reconnecte, et fais un ssh vers mon serveur @home => demande de passphrase…

Une idée ??

Merci pour votre lecture

[quote=“Maxdecondé”]Bon, alors, c’est incompréhensible, j’ai modifié le temps, et rien n’y fait : à chaque fois que je me déconnecte et me reconnecte, pas moyen d’accéder en ssh sans la passphrase

Voici ce que je fais :

Il me répond:

Je copie/colle ces trois lignes dans le terminal et il me répond :

[code]# SSH_AUTH_SOCK=/tmp/ssh-###########/agent.3459; export SSH_AUTH_SOCK;

SSH_AGENT_PID=3460; export SSH_AGENT_PID;

echo Agent pid 3460;

Agent pid 3460
[/code]

Puis je fais un :

# ssh-add -t 1254698753023549 Enter passphrase for /root/.ssh/id_dsa: Identity added: /root/.ssh/id_dsa (/root/.ssh/id_dsa) Lifetime set to 1366908477 seconds

Je me déconnecte, puis me reconnecte, et fais un ssh vers mon serveur @home => demande de passphrase…

Une idée ??

Merci pour votre lecture[/quote]

Si tu éteins ta machine autrement qu’en hibernation ou en veille, c’est normal et logique.

DU coup, comment dois-je m’y prendre pour scripter une connexion entre le dédié et le serveur @home, sans intervention humaine ?

Je ne peux que te répondre par mon exemple mais mon serveur est chez moi (autohébergement) et ça risuqe d’être différent chez toi ?
Je passe l’installation des clefs à la bonne place et la passphrase.
Je passe la création de l’agent.
Je crée un alias dans ~/.bashrc :

alias truc='ssh-add ~/.ssh/id_dsa'

Pour me connecter à mon “serveur” à partir de mon “ordibureau”, la première fois, j’entre :

$ ssh truc

Il me demande la passphrase, que j’entre et je suis connecté sur mon serveur.
Quand je veux arrêter mon “ordibureau”, je l’hiberne sur disque au lieu de l’éteindre (commande /usr/sbin/s2disk ou bouton ‘hiberner’).
À la session suivante, mon ‘agent’ est toujours vivant et la commande
$ ssh truc
me connecte directement à mon serveur sans avoir à taper la passphrase.
ATTENTION ! je fais ainsi car je suis seul à me servir de mon ordi 8)