3 votes

Se connecter à un VPN avec un mot de passe depuis la ligne de commande

Je peux déclencher le début de la connexion à mon VPN en disant

nmcli con up id WORKVPN

Mais j'ai un RSA SecurID qui fait partie de l'authentification, ce qui signifie que je ne peux pas stocker de mot de passe. Sans mot de passe, Network Manager affiche une invite de l'interface graphique. J'aimerais pouvoir passer le mot de passe ou au moins être invité sur la ligne de commande au lieu de l'interface graphique. Existe-t-il un moyen de le faire ?

1voto

R J Points 475

Je peux vous proposer quelques options

  • sshpass (Attention : Je n'ai pas essayé moi-même, et ce n'est pas sûr si quelqu'un regarde par-dessus votre épaule ou parcourt votre historique)

    sshpass -p vpnpassword <your command>

Il fonctionne avec une connexion SSH, essayez-le.

  • Une approche plus pratique et un peu plus sûre. Jetez un coup d'œil à s'attendre à dont l'installation dans Ubuntu est aussi simple que

    sudo apt-get install expect

    Ecrire un wrapper script, utiliser expect dans votre bash script.

    expect <<- DONE
    expect "<put here what you see in your password prompt> "
    send "<vpn password>\n"
    interact
    DONE

0voto

Ces commandes fonctionnent pour moi :

XAUTH="$(ps -C Xorg -o args= | sed -n 's/.*-auth \(.*\)/\1/p')"
export XAUTHORITY=$XAUTH
export DISPLAY=:0.0
XUSER="$(ps -C nm-applet -o user=)"
su ${XUSER} -c "nmcli c up 'VPN'"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X