web-dev-qa-db-fra.com

Manière sécurisée d'utiliser l'interface graphique pour demander un mot de passe réseau lors de l'utilisation de sshfs?

J'ai un dossier qui est stocké sur un serveur distant et qui est monté localement à l'aide de sshfs. Évidemment, cela nécessite un mot de passe pour vous connecter au serveur. Je voudrais obtenir une interface graphique pour me demander ce mot de passe.

J'ai réussi à le faire avec un script utilisant zenity et expect, mais apparemment expect n'est pas sécurisé. Alors, comment puis-je faire cela correctement?

Notez que je ne veux cela que lors du montage de ce dossier, pas lors de toute autre opération liée à ssh. Je veux le lier ensuite à l'icône quicklaunch du dossier, et c'est seulement à ce moment-là que j'ai besoin de l'interface graphique.

En prime, je préférerais que le terminal ne se présente jamais. Lorsque j'ai utilisé un script avec zenity, le terminal a semblé apparaître derrière l'interface graphique. Ce n'est pas un vrai problème, mais ce serait plus esthétique si ce n'était pas le cas.

3
Lu Kas

Vous pouvez utiliser la variable d'environnement SSH_ASKPASS. Il y a le paquet ssh-askpass qui fournit une application graphique, qui peut être utilisée pour demander un mot de passe à un utilisateur, si le script est exécuté sous l'utilisateur X. Vous pouvez essayer cela de cette façon:

export SSH_ASKPASS=/usr/lib/ssh/x11-ssh-askpass
sshfs [mount arguments]

Dans ce cas, vous devriez voir l'invite d'interface graphique se relever et vous permettre de saisir le mot de passe.

2
Jakuje