Automatisieren Sie Mehrere SCP-Transfers in Python w/o Keys

Ich kopieren müssen zwei Programme von einem server zum anderen nach dem kompilieren mit einem automatischen, nicht-interaktiven python-Skript. Die Tasten sind nicht eine option, als dieses Skript ist für mehrere Benutzer auf Unternehmens-Servern und beide Schlüssel und Kennwörter erforderlich sind. Passwörter werden nicht im Programm gespeichert, sondern werden aufgefordert, sich einmalig beim start des Programms mit getpass(), und dann für die beiden SCP-transfers, so dass die Benutzer nicht haben, um geben Sie Ihr Kennwort für jeden scp-Aufruf. Ich bin mit os.system zu nennen scp:

os.system("/usr/bin/scp %s %s@server:directory" %(prg, uname))
os.system("/usr/bin/scp %s %s@server:directory2" %(prg2, uname))

scp definiert ist, für ein anderes Programm, also /usr/bin/scp. prg/prg2 ist das Programm Standort-und uname ist der Benutzer Benutzernamen auf dem remote-server(s).

Habe ich versucht Rohrleitungen das Passwort, wie hier beschrieben, aber es hat nicht funktioniert.

Kann ich nicht install sshpass, erwarten, paramiko, oder Stoff, und ich kann nicht mit rsync b/c es ist nicht installiert auf dem empfangenden server. Gibt es irgendetwas, das ich tun kann, dies zu automatisieren?

Ich bin mit AIX 6.1, Python 2.6.2

UPDATE: ich kann nicht installieren Sie externe Bibliotheken, wie pexpect, entweder daran, dass AIX nicht /config-Ordner in das python-Installationsverzeichnis. Ein fix dafür ist, um zu installieren python-devel für AIX, aber ich kann nicht installieren Sie das Programm, so bin ich noch stecken geblieben.

UPDATE 2: ich habe beschlossen, zu verzichten SCP zu Gunsten von FTP. Ich habe eine Kombination von diese und diese meinen FTP-script. Vielen Dank für Eure Antworten und helfen, mich leiten.

  • Vielleicht bin ich off-base hier, ist aber nicht die Voraussetzung für das key einen SSH-Server-Seite erforderlich? So, es sei denn der server-Seite kann so konfiguriert werden, nicht mit den Tasten (einige SSH-server können, manche können das nicht), dann dies möglicherweise nicht möglich,
  • Ja, aber mein Unternehmen nicht erlaubt, die Schlüssel-nur Anmeldungen. Sie verwenden sowohl pubkeys und Kennwörter authentifiziert, die werden einfach akzeptiert, bei der ersten Verbindung.
  • dann kann ich nicht denken, eine andere alternative als das, was Igor Umrisse unten.
  • Sie konnte roll Ihre eigenen "mini-erwarten", mithilfe von Funktionen in das os-Modul (forkpty, etc), oder versuchen Sie den subprocess-Modul.
InformationsquelleAutor Jacob Hayes | 2012-07-27
Schreibe einen Kommentar