Seite 1 von 1

Automatische VPN Verbindung aus Python-Script herstellen

Verfasst: Donnerstag 15. März 2018, 14:30
von lacke_
Hallo Zusammen,

ich suche derzeit einen Weg mit dem ich eine automatische VPN Verbindung aus einem Python-Script herstellen kann.
Manuell klappt das super, dazu verwende ich den VPN Client openconnect.
Dabei muss ich natürlich die Group, den Username und das Passwort manuell eingeben.
Gibt es dafür eine automatische Möglichkeit dies in einem Python-Script zu machen(diese muss nicht besonders sicher sein)?
Derzeit versuche ich es auf diesen Weg:

Code: Alles auswählen

os.system('sudo  openconnect -u userid -b vpn.xxxx.de')
time.sleep(5)
os.system('vpn.xxxx.de')
os.system('User')
os.system('Passwort')
time.sleep(30)
Dies funktioniert so nicht, ist dies so überhaupt möglich? bzw wie kann ich den Fehler lokalisieren?

mit freundlichen Grüßen

Lacke

Re: Automatische VPN Verbindung aus Python-Script herstellen

Verfasst: Donnerstag 15. März 2018, 14:35
von __deets__
os.system solltest du nicht verwenden. Steht auch *GANZ DICK* in der Dokumentation.

Und einer der Gruende dafuer ist, dass es keine Kommunikation mit dem gestarteten Prozess erlaubt. Fire and Forget. Einfach danach neue os.system calls rauszuballern startet halt neue Programme. Aber das ist kein Kanal zu einem Terminal oder so.

Benutz stattdessen entweder das subprocess-Modul, und wenn moeglich gleich die richtigen Argumente um das ganze mit *einem* Aufruf zu erledigen.

Sollte es aber nur moeglich sein, Passwoerter ueber das Terminal einzugeben, dann musst du das Modul pexpect installieren und benutzen.

Re: Automatische VPN Verbindung aus Python-Script herstellen

Verfasst: Donnerstag 15. März 2018, 15:05
von lacke_
Vielen Dank für deine Hilfe. Ich habe noch eine weitere Frage:

Kann man das ganze dann auch verfolgen? Also kann man sich die Ausgabe des Kommandofenster anzeigen lassen wenn man es über Python bedient?

Re: Automatische VPN Verbindung aus Python-Script herstellen

Verfasst: Donnerstag 15. März 2018, 15:09
von __deets__
Ja, kann man. Du bekommst die Ausgabe ja. Was du damit machst ist dein Ding - ausdrucken, auf Deckchen sticken, per twitter versenden - die Moeglichkeiten sind unendlich.