Laden...

C# und SSH: mit einem Programm einfache Befehle auf meinem Root Server ausführen

Erstellt von Pascal1 vor 10 Jahren Letzter Beitrag vor 10 Jahren 5.210 Views
P
Pascal1 Themenstarter:in
2 Beiträge seit 2013
vor 10 Jahren
C# und SSH: mit einem Programm einfache Befehle auf meinem Root Server ausführen

Hallo,
Da ich heute schon den ganzen Tag an einem Problem sitze dachte ich , ich frag mal die experten hier 😄

Ich muss zugeben ich bin noch Anfänger!

Also ich will mit einem Programm einfache Befehle auf meinem Root Server ausführen .
Leider bin ich der englischen Sprache nicht mächtig, deswegen suche ich hier Hilfe!

Ich arbeite mit Renci.SshNet
Mein Code :

            using (var client = new SshClient("Ip", "username", "password"))
            {
                client.Connect();
                client.RunCommand("reboot");
                client.Disconnect();
            }

Leider gibt es immer beim client.Connect probleme.

Hier ein Screen: <siehe Anhang>

Ich danke euch !

C
2.122 Beiträge seit 2010
vor 10 Jahren

Leider bin ich der englischen Sprache nicht mächtig

Dringend ändern! Klingt einfacher als es ist, aber ohne Englisch wirds schwer. Nicht nur wegen solchen Meldungen sondern allgemein weil man gerade als Anfänger oft im Internet nach Lösungen sucht und dabei um Englisch nicht rum kommt.

Deine Meldung bedeutet, es wurde keine Methode zur Authentifizierung gefunden. Was das bedeutet weiß ich leider nicht, da ich mit SSH noch nichts gemacht habe.
Tipp das in Google ein und schau was du dazu findest, das hat mir schon mehrmals geholfen.

W
872 Beiträge seit 2005
vor 10 Jahren

SshClient(host, username, password)

"Ip" - steht bei Dir IP oder eine echte Adresse in Form von xx.xx.xx.xx?
Ansonsten wuerde ich auf dem Server mal in den Logs des ssh daemons schauen...

P
Pascal1 Themenstarter:in
2 Beiträge seit 2013
vor 10 Jahren

Da muss ich dir zu 100% recht geben !!!!

Natürlich stehen die richtigen Daten (im form von IP Adresse) im Programm. Aber auch im Internet hab ich solche Beispiele gefunden .

W
872 Beiträge seit 2005
vor 10 Jahren

Es kann auch gut sein, dass root kein ssh darf - aber reboot root Zugang erfordert. Klassischerweise wuerdest Du Dich mit einem anderen User und dann "sudo reboot" nutzen.

709 Beiträge seit 2008
vor 10 Jahren

Es kann auch gut sein, dass root kein ssh darf.

Das wäre ja z.B. mit PuTTY recht einfach herauszufinden.

D
31 Beiträge seit 2010
vor 10 Jahren

Das kann zwar sein, ist aber hier nicht der Fehler: Die Exception fliegt schon beim Aufruf von .Connect();

Ich würde eher glauben, auf dem Server ist SSH nicht aktiviert.

Hinweis von gfoidl vor 10 Jahren

Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 2.3.

1.361 Beiträge seit 2007
vor 10 Jahren

Hi,

Fehlermeldung:
SshAuthenticationException: No suitable authentication method found to complete authentication

Für mich klingt das auch danach, dass root sich nicht über SSH per Passwort verbinden kann.
Ob sich root vielleicht mit nem privateKey authentifizieren kann, lässt sich so nicht sagen. Müsstest du schauen.

Bei SSH gibt es zwei grundlegenden Athentifizierungs-Methoden: Per passwort oder per PrivateKey. (Und noch ein paar weitere, für dich aber wohl uninteressante.

Du hast lediglich ein Passwort angegeben, der Server akzeptiert aber keine Logins für Root mit Passwort => "Keine passende Authentifizierungsmethode..."

Du musst also probieren, was hiervorn bei deinem Server funktioniert:
*Als Root mit Passwort *Als Root mit PrivateKey *Als User mit Passwort (und danach sudo) *Als User mit PrivateKey (und danach sudo)

Das erste scheint jedenfalls nicht zu klappen.
Und ja, teste das am besten zunächst mit Putty. Wenn das klappt, dann zu C# wechseln.

beste Grüße
zommi