ssh "Berechtigungen sind zu offen" auf Schlüssel

-1

Wir versuchen, ein Problem mit einigen Dateisystemen zu beheben, indem SSH ohne die Berechtigungsüberprüfung für den privaten SSH-Schlüssel funktioniert.

Fehlermeldung: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @ WARNUNG: NICHT GESCHÜTZTE PRIVATE SCHLÜSSELDATEI! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@

Aus seltsamen Gründen können wir die Zugriffsrechte für einige Dateien nicht ändern. (Willkommen in der Cygwin-Welt von Windows.)

Weiß jemand, ob es eine Möglichkeit gibt, die SSH-Validierung auf irgendeine Weise zu umgehen? Ich habe nichts Relevantes in den ssh-Optionen gefunden.

Wenn Sie chmod 400 oder 600 antworten sollen, ist es nicht das, wonach ich suche!

Thierry
quelle
4
Wenn chmod 600 [file]dies unter Cygwin nicht funktioniert, ist Ihre Cygwin-Installation fehlerhaft. Was passiert, wenn Sie es versuchen? Welche Version von Cygwin verwenden Sie?
Aaron Miller

Antworten:

2

Weiß jemand, ob es eine Möglichkeit gibt, die SSH-Validierung auf irgendeine Weise zu umgehen?

In dieser Situation ergibt Ihre Frage keinen Sinn ... Sie erhalten einen Fehler aufgrund falscher Pernissionen und / oder des Besitzes des Schlüssels

Schlüssel dürfen nur für den Benutzer zugänglich sein, für den sie bestimmt sind, und es dürfen keine anderen Konten, Dienste oder Gruppen vorhanden sein.


Windows PowerShell-Terminal


  • GUI:
    • [Datei] Eigenschaften - Sicherheit - Erweitert
      1. Setzen Sie Owner auf den Benutzer des Schlüssels
      2. Entfernen Sie alle Benutzer, Gruppen und Dienste mit Ausnahme des Schlüssels unter Berechtigungseinträge
      3. Stellen Sie den Benutzer des Schlüssels auf Vollzugriff ein


  • CLI:

    :: Set Variable ::
    set key="C:\Path\to\key"
    
    :: Remove Inheritance ::
    cmd /c icacls %key% /c /t /inheritance:d
    
    :: Set Ownership to Owner ::
    cmd /c icacls %key% /c /t /grant %username%:F
    
    :: Remove All Users, except for Owner ::
    cmd /c icacls %key%  /c /t /remove Administrator BUILTIN\Administrators BUILTIN Everyone System Users
    
    :: Verify ::
    cmd /c icacls %key%
    



WSL / Cygwin Terminal


  • CLI

    # Set Variables
    
      # Key  
        key="/path/to/key"
    
      # User:
        user="$(echo $USER)"
    
    # Set Ownership
      # This assumes user's name is also user's group name
        chown $user:$user $key
    
    # Set Access Rights
      chmod 0600 $key
    
    # Verify
      ls -l $key
    
JW0914
quelle
Diese CLI-Lösung hat für mich unter Windows 10 Bash (WSL) funktioniert, bei dem alle Point-and-Click-Lösungen fehlgeschlagen sind. Vielen Dank!
r3robertson
Überhaupt kein Problem =] Nur zu Ihrer Information (da viele Benutzer versucht haben, einen SSH-Schlüssel in einem Windows-Verzeichnis für WSL freizugeben) : Freigeben des Dateizugriffs zwischen Windows <-> WSL für eine Datei, auf die nur zugegriffen werden darf Ein bestimmter Benutzer und nur dieser Benutzer wird nicht unterstützt. Jeder, der WSL verwendet, sollte diese Antwort und den Windows Developer Blog-Beitrag lesen : Ändern Sie Linux-Dateien nicht mit Windows-Apps und
-Tools
0

Ich bin mir nicht sicher, ob Sie verstehen, was diese Nachricht bedeutet oder wonach Sie fragen.

Grundsätzlich teilt Ihnen SSH mit, dass Ihr privater Schlüssel, der in diesem Fall nicht Ihnen gehört, öffentlich ist. Das heißt im Plan English: "Ihr Passwort ist im Klartext. Jeder, der Zugriff auf diese Box hat, hat Zugriff darauf."

Sie möchten, dass SSH dies ignoriert, aber SSH wurde so konzipiert, dass es sicher ist. Wie Ihnen gesagt wurde: Wenn Sie die Berechtigungen für diese Datei nicht ändern können, haben Sie cygwin nicht richtig installiert.

Können Sie bitte erläutern, warum Sie diese Warnung außer Kraft setzen möchten?

Sie können immer installieren telnet-server

Chris
quelle
Ich versuche, Benutzer langsam von statischen Passwörtern auf SSH-Schlüssel umzustellen. Ich bevorzuge, dass sie einen unsicheren SSH-Schlüssel auf ihrem Desktop haben, als Kennwörter per E-Mail weiterzugeben (wie derzeit geschehen)
Thierry
Versuchen Sie erneut, das eigentliche Problem zu beheben. (chmod 600). Wenn Ihr Auto Ihnen mitteilt, dass nur noch wenig Benzin zur Verfügung steht, maskieren Sie es mit dem Klebeband? Bitte geben Sie die Ausgabe des chmod 600 in Ihren Ordner / Ihre Schlüsseldatei ein. Denken Sie daran, dass ssh-Dateien in .ssh gespeichert sind!
Chris
Telnet bietet keine Möglichkeit zum Sichern der Verbindung und sollte niemals verwendet werden, es sei denn, ein altes System, an dem gearbeitet wird, bietet nur Fernzugriff über Telnet (zu diesem Zeitpunkt sollte das alte System aktualisiert werden, anstatt eine bekannte ausnutzbare Methode zu verwenden)
JW0914