myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Netzwerktechnologien » SSH Verbindung - Password denied
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

SSH Verbindung - Password denied

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Rico913
myCSharp.de-Mitglied

Dabei seit: 29.04.2020
Beiträge: 38


Rico913 ist offline

SSH Verbindung - Password denied

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi,

ich versuche eine SSH-Verbindung aufzubauen, aber ich bekomme folgende Fehlermeldung:

Fehlermeldung:
Renci.SshNet.Common.SshAuthenticationException: "Permission denied (password)."

Mein Code ist folgender:

C#-Code:
string code;
            string host = "dedehog01";
            string username = "ABC";
            string password = "XXX";

            using (var ssh = new SshClient(host, 22, username, password))

            {
                ssh.Connect();
                ........
                ........
                ssh.Disconnect();
            }

        }

Uber Putty habe ich die Verbindung mit Passwort getestet - funktioniert. Warum wird dann trotzdem verweigert?

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Rico913 am 23.05.2020 11:10.

23.05.2020 11:06 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Rico913
myCSharp.de-Mitglied

Dabei seit: 29.04.2020
Beiträge: 38

Themenstarter Thema begonnen von Rico913

Rico913 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Appropos Passwort

Wie kann ich den Usernamen und das Password einfach aus der Windowssession übernehmen?
Der Nutzer muss sich ohnehin in seinem Windowskonto anmelden und ich würde es gerne vermeiden, dass er seine Anmeldedaten nochmal eingeben muss. Geht das überhaupt?
23.05.2020 11:12 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.498
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Welche Antwort sollten wir dir hier geben können?
Der Code muss ja richtig sein, nur dann sind scheinbar deine Einstellungen falsch.
Hast du ggf. einen anderen Port in Putty eingestellt, also keinen Default Port 22?
Dann wäre es klar warum es nicht geht.

Ansonsten lässt sich dies nicht am Code erkennen, da die Umgebung und Einstellungen nicht einsehbar sind.

Nachtrag:
Zu deinem zweiten Post:
Wird so nicht funktionieren.
Nimm doch lieber eine Key Anmeldung, da du dann keine Passwörter kennen musst.
Einen Key zu generieren und zu speichern ist dann kein Aufwand und sichert dich auch gleich gegen Brute Force Anmeldungen ab.

T-Virus

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von T-Virus am 23.05.2020 11:17.

23.05.2020 11:15 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.811
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von Rico913:
Wie kann ich den Usernamen und das Password einfach aus der Windowssession übernehmen?

Nein, natürlich kannst Du kein Passwort aus der Windows Session auslesen.

Wenn Deine Gegenstelle kein Single Sign On (über welches Protokoll auch immer) unterstützt, dann bleint Dir nichts anderes als die Passwortabfrage.
Alles andere generelle kannst Du prinzipiell den Microsoft Docs entnehmen; da ist von Kerberos bis Windows Hello alles erklärt - meistens sogar mit C# relevanten Code.
Macht ja wenig Sinn, dass wir Dir abtippen was in der Doku steht.

Bezüglich dem Problem würde ich pauschal raten es liegt am Zertifikat.
Aber letzten Endes bräuchte ich bei den Infos, die Du zur Verfügung stellst, eine Glaskugel um hellsehen zu können ;-)
23.05.2020 11:54 Beiträge des Benutzers | zu Buddylist hinzufügen
Rico913
myCSharp.de-Mitglied

Dabei seit: 29.04.2020
Beiträge: 38

Themenstarter Thema begonnen von Rico913

Rico913 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Okay ... trotzdem Danke für die hilfreichen und vor allem schnellen Antworten :-)
24.05.2020 13:59 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Rico913
myCSharp.de-Mitglied

Dabei seit: 29.04.2020
Beiträge: 38

Themenstarter Thema begonnen von Rico913

Rico913 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich bin das Problem umgangen und benutze Putty als Verbindung.
Mein Code sieht nun so aus:

C#-Code:
bool Username_DomainCheck = Username.ToLower().Contains(@"....\");
            if (Username_DomainCheck == true)
            {
                Username = Username.Remove(0, 11);
            }
if (File.Exists(@"C:\Program Files\PuTTY\plink.exe"))
            {
                Process cmd = new Process();
                cmd.StartInfo.FileName = @"C:\Program Files\PuTTY\plink.exe";
                cmd.StartInfo.UseShellExecute = false;
                //cmd.StartInfo.CreateNoWindow = true;
                cmd.StartInfo.RedirectStandardInput = true;
                cmd.StartInfo.RedirectStandardOutput = true;
                cmd.StartInfo.Arguments = "-ssh dedehog01 -l " + Username + " -m " + "\\\\.........\\command.txt";
                cmd.Start();
                cmd.StandardInput.WriteLine("/...../get_code");
                cmd.StandardInput.WriteLine("exit");

                string output = cmd.StandardOutput.ReadToEnd();

                label5.Text = output;
            }
            else
            {
                MessageBox.Show("Bitte PUTTY installieren und erneut versuchen.");
            }
        }

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Rico913 am 25.05.2020 09:36.

25.05.2020 09:35 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.498
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ist dann aber eine reine Krückenlösung und alles andere als sauber.
Damit zwingst du auch den Nutzer deiner Anwendung auf bestimmte Anwendungen, was in dem Fall doch unnötig ist.
Prüf doch bitte mal ob du ggf. noch extra Einstellungen für den SSH Client in deinem Code hinterlegen muss, eben wie der Port etc.

So baust du dir irgendwas zu sammen, was ggf. zukünftig bei neuen Putty Versionnen nicht mehr supportet wird.
Dann hängst du auf einer uralt Krückenlösung fest und zwingst deinen Nutzern oder gar dir selbst eine Sicherheitslücke auf.
Du löst also das Grundproblem nicht, schaffst dir aber neue Probleme.

Lieber einmal mehr Zeit in die Analyse investieren als hitnerher sich selbst eine Grube zu graben.

T-Virus
25.05.2020 10:04 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Rico913
myCSharp.de-Mitglied

Dabei seit: 29.04.2020
Beiträge: 38

Themenstarter Thema begonnen von Rico913

Rico913 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Das ist völlig richtig, aber ich kann es unseren Nutzern schon mal als Zwischenlösung zur Verfügung stellen.
Ich behalte das auf dem Schirm und versuche es sauber zu lösen - bin ja noch in den Kinderschuhen und bisher am Basteln, um so Stück für Stück Erfahrungen zu sammeln.

Zum Glück gibt es solche Foren, die einen unglaublich weiterhelfen. Geht zumindest mir so!
Es muss nicht immer der vorgekaute Code sein, sondern es reicht oft ein Schubs in die richtige Richtung. Danke Daumen hoch
25.05.2020 11:18 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.498
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Dann liefere am besten Putty als portable Version gleich mit aus.
Dann müssen die User nicht extra noch das Programm installieren.
Und du kannst auch sicher sein, welche Version gerade läuft.

T-Virus
25.05.2020 13:26 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.811
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von T-Virus:
Dann liefere am besten Putty als portable Version gleich mit aus.

Bei solchen Empfehlungen auch immer die Lizenzbestimmungen beachten.
Im Falle von Putty ist das MIT. Auch wenn MIT relativ unproblematisch ist: immer abklären.

Und da es sich hier nach Unternehmensanwendung anhört: Unternehmen hassen es, wenn Anwendungen einfach so Zeugs mitliefern.
Dependencies müssen angegeben werden und werden über entsprechende Automatismen oft zentral verwaltet.

Gibt genug Unternehmen für die ist ein "Mitliefern" von Portable Apps (und damit Schatten-IT) ein absolutes No Go.
25.05.2020 13:35 Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.498
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Dann wäre es sogar noch wichtiger es direkt sauber zu lösen anstelle dieser Zwischenlösung.
Nur dazu muss sich der Te die Zeit nehmen.
Da er dies aber scheinbar lieber schieben will, kann ich keine saubere Lösung vorschlagen.

Für den aktuellen Ansatz sehe ich schon wieder neue Probleme, die vermutlich in Zukunft für neue Probleme sorgen werden.
Hier sind fixe Parameter und Pfade im Code, die man eigentlich über eine Config einpflegen sollte.
Sobald ein Admin/Anwender putty an einem anderen Ort installiert, ist das Programm nicht nutzbar.
Sich hier auf feste Pfade zu verlassen, ist selten eine gute Idee, da es auch mal technische Gründe dagegen geben kann.
Auch irgendeine command.txt auszulesen sieht etwas abenteuerlich aus.
Wenn jemand diese böswillig manipuliert, kann er damit einiges an Schaden an richten.

Ich würde immern och empfehlen die Ursache zu ermitteln und zu beheben.
Ansonsten kann das thema dicht gemacht werden oder?

T-Virus
25.05.2020 18:57 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Rico913
myCSharp.de-Mitglied

Dabei seit: 29.04.2020
Beiträge: 38

Themenstarter Thema begonnen von Rico913

Rico913 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Noch fix:

Zitat:
Dann liefere am besten Putty als portable Version gleich mit aus.

Installationen erlaubt und managed unsere IT-Abteilung. Wir "suchen" uns im SoftwareCenter nur was wir haben wollen und IT installiert es. Somit ist auch schon mal sichergestellt, dass alle Nutzer denselben Softwarepfad haben.

Die Command.txt hat den Grund, dass ich, aus welchem Grund auch immer, keine Befehlseingabe zustandekommt bzw. ich nichts auslesen kann. Command.txt liegt auf einem schreibgeschützten Laufwerk -> Schutz vor Manipulation.

Wie schon gesagt - Zwischenlösung - das heißt nicht, dass die Lösung über einen langen Zeitraum auf sich warten lässt. Ich bin dran, aber in der Zwischenzeit, hilft es uns im Arbeitsleben.

Jetzt kann's geschlossen werden. VG

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Rico913 am 26.05.2020 14:22.

Gestern, 14:21 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 27.05.2020 11:08