[Modul] SSH Client

ok, dann war das schon mal der erste Fehler :sweat_smile:
bei „SSHC_Execute“ kommt kein Fehler, im Debug steht
Execute
Login
Close

Container wird nicht beendet.
Weiß aber auch nicht, ob meine Angabe bei Host: ip-Synology:Port überhaupt richtig ist. Bei SSH auf der Kommandozeile wird das ja beim ssh Login der port über -p Port angegeben. Des Weiteren kann ich den Befehl auf der Kommandozeile auch nicht direkt ausführen, da verlangt er vorher das root Kennwort. Kann ich das trotzdem irgendwie abbilden?

Da es keinen Fehler gab, wird der Port schon korrekt sein.
Fehlt da eventuell ein sudo?
Hier hätte jemand das gleiche Thema wegen Passwort:

Michael

Zwischenstand: auf der Kommandozeile funktioniert der Befehl, ohne dass eine Nachfrage nach dem root Kennwort kommt. Im Modul bisher noch nicht. Aber ich probiere weiter…

Danke erstmal
Marc

so, jetzt klappt es. Falls es jemand auch gebrauchen kann, hier die Lösung: auf der Kommandozeile reichte die Angabe von „synowebapi“, im Modul muss der gesamte Pfad angegeben werden: „/usr/syno/bin/synowebapi“

Danke für das super Modul :slight_smile:

Marc

1 „Gefällt mir“

Neue Stable im Store.

Die Einschränkung auf RSA Schlüssel ist jetzt weg.

Ich versuche an Cisco switches SSH Befehle zu senden. Bekomme aber immer den gleichen Fehler.

Mit Putty ist das alles kein Problem…
SSHC_ExecuteEx($switch, [‚conf t‘, ‚interface‘,]);

SSH Start

Line has invalid autocommand "conf t
interface"SSH Ende

Ohne es getestet zu haben.
Versuch es mal mit einem anderen Zeilenumbruch

SSHC_ExecuteEx($switch, ["conf t\r", "interface\r"]);

ne, leider kommt der gleiche fehler

Delay zwischen den beiden Befehlen zu gering?

Nachtrag: Wenn du das Delay nicht einstellen kannst, kannst du ggf. den Befehl ausschreiben, dass er nicht in der ‚Autocomplete Liste‘ suchen muss?

Das liegt einfach daran, dass Cisco IOS den Config-Mode (conf t) verweigert, wenn man über diesen einfachen „Exec“-Kanal kommt.

Der Switch braucht zwingend eine interaktive Session (TTY), damit er den Status überhaupt behält. Wenn deine Library das jetzt als einen einzigen Block rüberschickt, hält der Switch das für ein ungültiges „Autocommand“ und blockt es sofort ab. Das geht so leider nicht, du brauchst eine echte Shell-Verbindung.

Eigentlich ist das gemäß Doku der lib so korrekt:

Interactive Shell
On a terminal you normally don’t just type the command and expect to get the output. You type the command and then hit enter. To simulate that you’ll need to add „\n“ to the commands you send via write()

Aber ich habe eine Idee woran es liegt und muss mal schauen wie ich das umsetzen kann.

1 „Gefällt mir“