it-swarm.com.de

SSH sucht an einem falschen Ort nach dem öffentlichen/privaten Schlüsselpaar unter Windows

Ich versuche, GIT auf meinem Windows XP - Computer zu konfigurieren, aber SSH erstellt und sucht an öffentlichen und privaten Schlüsselpaaren an nicht-sensiblen Orten, z. /.ssh/id_rsa

Gibt es in der GIT-Installation für Windows eine Konfigurationsdatei, in der ich diese in mein Home-Verzeichnis oder an einen anderen benutzerdefinierten Ort verschieben kann? Standardmäßig bietet es an, neue Schlüsselpaare unter //.ssh/id_rsa zu erstellen, was jedoch die Fehlermeldung "Das Verzeichnis '//.ssh' konnte nicht erstellt werden." Und wenn ich ein Verzeichnis finde, in dem ich es erstellen kann, wird GIT dort nicht suchen.

35
Michael Morisy

Finden Sie heraus, wie Sie mein Home-Verzeichnis in Windows XP manuell einstellen können:

  1. Klicken Sie mit der rechten Maustaste auf "Arbeitsplatz".
  2. Wählen Sie die Registerkarte "Erweitert"
  3. Klicken Sie auf die Schaltfläche "Umgebungsvariablen"
  4. Klicken Sie unter "Systemvariablen" auf "Neu".
  5. In "Variablenname" geben Sie in "home" ein.
  6. Geben Sie im Feld "Variablenwert" den Pfad zu Ihrem Profil ein.

Um das gleiche über die Eingabeaufforderung zu tun, machen Sie folgendes:

setx HOME "your\path\to\home"

(Bitte beachten Sie das Suffix x - Damit wird die Änderung beibehalten)

65
Michael Morisy

Die empfohlene Methode von MSYS2 besteht darin, db_home in /etc/nsswitch.conf in Ihrem Home-Verzeichnis festzulegen.

Kredit an @VarunAgw zum Zeigen in die richtige Richtung.

Git-for-Windows enthält env in db_home, das Ihre HOME-bash-Variable lesen soll, sie ist jedoch unzuverlässig .

8
go2null

Ich hatte ein ähnliches Problem unter Windows 7. Die Umgebungsvariable HOME schien richtig eingestellt zu sein:

$ echo $HOME
C:\Users\craibuc

Die Verbindungsversuche zum ssh-Zugriff von test github sind jedoch fehlgeschlagen:

$ ssh -Tv [email protected]
OpenSSH_6.6.1, OpenSSL 1.0.1i 6 Aug 2014
debug1: Connecting to github.com [192.30.252.129] port 22.
debug1: Connection established.
Could not create directory 'C/.ssh'.
debug1: identity file C/.ssh/id_rsa type -1
debug1: identity file C/.ssh/id_rsa-cert type -1
debug1: identity file C/.ssh/id_dsa type -1
debug1: identity file C/.ssh/id_dsa-cert type -1
debug1: identity file C/.ssh/id_ecdsa type -1
debug1: identity file C/.ssh/id_ecdsa-cert type -1
debug1: identity file C/.ssh/id_ed25519 type -1
debug1: identity file C/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1
debug1: Remote protocol version 2.0, remote software version libssh-0.6.0
debug1: no match: libssh-0.6.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server Host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
The authenticity of Host 'github.com (192.30.252.129)' can't be established.
RSA key fingerprint is xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the Host to the list of known hosts (C/.ssh/known_hosts).
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: C/.ssh/id_rsa
debug1: Trying private key: C/.ssh/id_dsa
debug1: Trying private key: C/.ssh/id_ecdsa
debug1: Trying private key: C/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

Aus irgendeinem Grund hat ssh versucht, auf C/.ssh zuzugreifen.

Als ich die Variable mit setx HOME /c/users/craibuc eingestellt und die Shell neu gestartet habe, konnte ich eine Verbindung herstellen:

$ ssh -T [email protected]
Warning: Permanently added the RSA Host key for IP address '192.30.252.130' to the list of known hosts.
Hi craibuc! You've successfully authenticated, but GitHub does not provide Shell access.
2
craig

Überprüfen Sie which ssh, um festzustellen, ob Sie /usr/bin/ssh oder etwas anderes verwenden, das möglicherweise aus Versehen installiert wurde. 

In meinem Fall wurde meine SSH nach der Installation von rsync durch Chocolatey ersetzt. Nachdem ich choco uninstall rsync ausgeführt hatte, funktionierte mein SSH wieder.

2
Bouke Versteegh

Ich hatte das gleiche Problem, wenn ich einen Computer mit Domänenrichtlinie verwende, der das Benutzerprofil auf ein Netzlaufwerk festlegte (in diesem Fall Z:).

Wenn ich versuche, irgendetwas von Powershell zu machen, bekomme ich solche Nachrichten. Die Einstellung der Variable home PATH hat nicht geholfen.

git clone ssh://[email protected]:1234/myproject
Cloning into 'myproject'...
Could not create directory '/z/.ssh'.
The authenticity of Host '[mydomain.com]:1234 ([1.1.1.1]:1234)' can't be established.
RSA key fingerprint is 00:11:22:33:$4:55:66:77:88.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the Host to the list of known hosts (/z/.ssh/known_hosts).
Permission denied (publickey).

Please make sure you have the correct access rights
and the repository exists.

Als ich von git bash geklont wurde, war es in Ordnung, da /z/.ssh etc eine gültige Methode ist, um von einer Shell auf Z:\.ssh zu zeigen.

0
nathanchere

ln -s /c/Users/rofrol/.ssh /home/rofrol/ arbeitete für mich.

Dies tat nicht:

$ echo $HOME
/c/Users/rofrol

$ cat ~/nsswitch.conf
db_home: /c/Users/rofrol

$ cat /home/rofrol/nsswitch.conf
db_home: /c/Users/rofrol

$ cat /etc/nsswitch.conf
# Begin /etc/nsswitch.conf

passwd: files db
group: files db

db_enum: cache builtin

#db_home: cygwin desc
db_home: /c/Users/rofrol
db_Shell: cygwin desc
db_gecos: cygwin desc

# End /etc/nsswitch.conf

Wahrscheinlich deshalb:

SSH erfordert/home/$ USER

https://github.com/git-for-windows/git/issues/736#issuecomment-215123009

0
rofrol