MinGW MSYS-SSH-Fehler: Verzeichnis '/home/<Benutzername>/.ssh' konnte nicht erstellt werden


2

Ich habe soeben eine neue MinGW-Installation unter Windows 7 64-Bit mithilfe des Installationsprogramms für die grafische Benutzeroberfläche (empfohlener Ansatz) gemäß den Anweisungen installiert Hier und Beibehalten der Standardoptionen (d. h. Installation in C: \ MinGW ) - hoffentlich ohne irgendwelche Schritte zu verpassen oder Dinge in irgendeiner Weise durcheinander zu bringen.

Beim Ausführen der ssh Befehl erhalte ich den folgenden Fehler:

C: \ Users \ myusername & gt; ssh Nutzername @ Wirt
Verzeichnis '/ home /' konnte nicht erstellt werden mein Benutzername /.ssh '.
Die Echtheit des Wirts ' Wirt ( Host-IP ) 'kann nicht festgestellt werden.
RSA-Schlüssel Fingerabdruck ist Fingerabdruck .
Möchten Sie die Verbindung wirklich fortsetzen (Ja / Nein)? Ja
Fehler beim Hinzufügen des Hosts zur Liste der bekannten Hosts (/ home / mein Benutzername /.ssh/known_hosts).

Daher muss ich die Verbindung grundsätzlich jedes Mal bestätigen.
Warum passiert das und wie behebe ich es?

Antworten:


2

Nach einigem Ausprobieren habe ich die Lösung (en) für das Problem gefunden.

Automatisierte Lösung (für die Eiligen)

  1. Gehe zu (Ihr-MinGW-Installationsverzeichnis) \ msys \ 1.0 .
    (in meinem Fall, der auch der Standard ist, wäre das C: \ MinGW \ msys \ 1.0 ).
  2. Lauf msys.bat .

Dies startet die MinGW Shell , wodurch der Pfad erstellt wird
(Ihr-MinGW-Installationsverzeichnis) \ msys \ 1.0 \ home \ (Ihr-Benutzername)
automatisch und ssh sollte jetzt gut funktionieren.


Manuelle Lösung (im Grunde den von Hand benötigten Pfad erstellen):

  1. Gehe zu (Ihr-MinGW-Installationsverzeichnis) \ msys \ 1.0 .
  2. Ein ... kreieren Zuhause Verzeichnis.
  3. In der Zuhause Verzeichnis Erstellen Sie ein Verzeichnis mit demselben Namen wie Ihr Benutzername.

So, jetzt der Weg
(Ihr-MinGW-Installationsverzeichnis) \ msys \ 1.0 \ home \ (Ihr-Benutzername)
ist verfügbar und ssh sollte gut funktionieren.


Folgendes sollten Sie bekommen, wenn alles gut gelaufen ist:

C: \ Users \ myusername & gt; ssh Nutzername @ Wirt
Die Echtheit des Wirts ' Host (Host-IP) 'kann nicht festgestellt werden.
RSA-Schlüssel Fingerabdruck ist Fingerabdruck .
Möchten Sie die Verbindung wirklich fortsetzen (Ja / Nein)? Ja
Warnung: Permanent hinzugefügt ' Host, Host-IP '(RSA) zur Liste der bekannten Hosts.

Hinweis
Da die MinGW-Shell den benötigten Pfad erstellen konnte (ohne dass die Windows-Benutzerkontensteuerung irgendetwas stört), hat dies vermutlich nichts mit Überlieferungen zu tun. Es ist wahrscheinlich eine Auslassung der MinGW-Installation.


0

Fügen Sie den RSA-Schlüssel manuell zur Datei .ssh / known_hosts hinzu

Ich bin mir nicht sicher, warum es passiert, aber ich vermute, dass es ein Berechtigungsproblem gibt, wenn die Datei überhaupt nicht erstellt werden kann


Vielen Dank. Ich wusste jedoch nicht wirklich, wo .ssh sein sollte, bis ich meine Antwort fand (was das manuelle Hinzufügen des RSA-Schlüssels überflüssig machte).
import this

0

Für jedermann mit msys2 und mit dem gleichen Fehler:

Ändern Sie die Zeile in der Datei /etc/nsswitch.conf zu:

db_home: windows cygwin desc

(Aus dieser Antwort)


0

So aktivieren Sie SSH in Windows zum Aktualisieren von my known_hosts Datei, so dass ich nicht immer aufgefordert werde

Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts 
(/home/myusername/.ssh/known_hosts).

Ich habe den ganzen Tag damit verbracht, dies für git-bash für Windows herauszufinden (von dem ich glaube, dass es mingw64 verwendet, von dem ich glaube, dass es ein Nachkomme von msys ist). Ich bin sicher, dass es sich um einen Berechtigungsfehler handelt, aber ich konnte nichts finden, das angibt, wie die Unix-Berechtigungen (d. H. Chmod xxx ...) eines Ordners oder einer Datei, die wirklich von Windows gesteuert wird, geändert werden. Keine der folgenden Maßnahmen hat funktioniert:

  • Erstellen der ~/.ssh Ordner in meinem Windows-Benutzerverzeichnis ( cd ~ --> C:\User\username )
  • Erstellen der /home/username/.ssh Ordner im git-bash-Stammverzeichnis ( cd / --> C:\Program Files\Git )
  • Erstellen der .ssh/known_hosts Datei an beiden Speicherorten und Ändern der Windows-Berechtigungen auf Vollzugriff

Das hat funktioniert:

  • Ändern der Zeile in der Datei C:\Program Files\Git\etc\nsswitch.conf:

    From: db_home: env windows cygwin desc
      To: db_home:     windows cygwin desc
    

Warum??? Ich habe keine Ahnung!!


1
Willkommen bei Super User. Dies ist eine alte, selbst beantwortete Frage. Möglicherweise hatten Sie ein ähnliches Symptom, aber es gibt keinen Hinweis darauf, dass das OP die Umgebung aufgenommen hat. Ist das Symptom möglicherweise einfach deshalb aufgetreten, weil Sie einen Fehler verursacht haben, indem Sie ihn eingeschlossen haben?
fixer1234
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.