Seite 1 von 1

pexpect

Verfasst: Sonntag 25. September 2022, 18:53
von kitebuggy
Hallo

Ich habe folgenden Code in Python:

Code: Alles auswählen

#!/usr/bin/python3


import pexpect,sys


class connect():
    
    def login(self):
        print('Connecting...')
        l=pexpect.spawn('ssh -l a anywhere')
        l.logfile=sys.stdout.buffer
        l.expect('password')
        l.sendline('passwd')
        l.expect('$')
        l.sendline('ls')
        l.expect('$')
        
if __name__=='__main__':
    
    a=connect()
    a.login()
Dies soll mir das directory auf dem Enfernten Rechnet anzeigen, mir allen gesendeten Eingaben. Stattdessen erhalte ich:
Connecting...

a@anywhere's password: passwd
ls
Warum wird hier der Text nicht angezeigt?

Nein, ich will pxssh nicht benutzen und dies ist ein vereinfachter Code,
Version von pxssh: 4.8

Vielen Dank für einen Vorschlag.

Re: pexpect

Verfasst: Sonntag 25. September 2022, 19:05
von Sirius3
Warum benutzt Du nicht eine Bibliothek, die ssh direkt unterstützt, wie z.B. paramiko?

Re: pexpect

Verfasst: Sonntag 25. September 2022, 20:29
von kitebuggy
Weil ich damit keine Verbindung zum Server hinbekomme. Genausowenig wie mit pxssh :-(

Und mit pexpect hat es bisher funktioniert.

Re: pexpect

Verfasst: Sonntag 25. September 2022, 20:34
von Sirius3
Naja, anscheinend ja doch nicht, weil es nach der Passworteingabe nicht weiter geht.

Re: pexpect

Verfasst: Sonntag 25. September 2022, 20:58
von sparrow
+1 für paramiko