Hallo zusammen,
ich bin so langsam etwas ratlos, da mein Problem laut Internet-Recherche recht simpel zu sein scheint, bei mir jedoch nicht funktionert.
Ich versuche mehrere ssh-connect (IP´s aus einer Liste) auf mehrere Device zu starten und eine/mehrere anschließende Abfragen in eine .csv zu speichern.
Leider bekomme ich aktuell noch nicht einmal das ssh-connect ohne Fehlermeldung hin.
Bedingt durch meine Versuche habe ich mittlerweile den Überblick verloren um einen "sauberen" Neustart hinzubekommen.
Frage:
Wie kann ich am besten eine ssh Verbindung herstellen und die Abfragen in eine Datei speichern.
Bislang bekomme ich hierüber ohne Fehler eine Verbindung, jedoch keine Ausgabe angezeigt:
import paramiko
ip='127.0.0.1'
port=22
username='USER'
password='PASSWORD'
cmd='where'
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,port,username,password)
stdin,stdout,stderr=ssh.exec_command(cmd)
outlines=stdout.readlines()
resp=''.join(outlines)
print(resp)
Gruß
chw
ssh-connect Probleme
- __blackjack__
- User
- Beiträge: 14053
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@chw80: Was ist denn ``where``? Lass Dir auch `stderr` ausgeben. Da bekomme ich dann:
Code: Alles auswählen
bash: where: command not found
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
- joernius
- User
- Beiträge: 31
- Registriert: Donnerstag 11. Juni 2020, 13:47
- Wohnort: Dresden
- Kontaktdaten:
Ja, freudscher Fehler. Wohin willst Du dich denn verbinden?
Innerhalb einer IP-Range?
Hast Du root-Rechte auf dem SSH-Server?
Mehr Infos gibt es mit der Option -v, -vv oder -vvv, Fehler in eine Datei macht "PROGRAMM 2>Fehlerdatei.txt".
Vorher überprüfen ob /run/sshd existiert.
Innerhalb einer IP-Range?
Hast Du root-Rechte auf dem SSH-Server?
Mehr Infos gibt es mit der Option -v, -vv oder -vvv, Fehler in eine Datei macht "PROGRAMM 2>Fehlerdatei.txt".
Bist Du root auf dem SSH-Server? -> melde dich, sicherheitshalber mit 2 Konsolen, an und stoppe den ssh-Dienst, starte diesen dann manuell im Debug-Modus .ssh -vv SERVER-IP 2>logdatei.txt
Vorher überprüfen ob /run/sshd existiert.
- have a lot of fun -sudo -i
mkdir /run/sshd # Wenn noch nicht vorhanden
systemctl stop sshd && /usr/sbin/sshd -ddd -D