So richten Sie SSH auth mit Windows/git/tortoisegit/putty/Synology ein

Ich bin hoffnungslos verwirrt. Ich versuche zu verhindern, dass tortoisegit mich bei jedem Ziehen/Drücken zur Eingabe eines Passworts auffordert (es macht mir nichts aus, wenn ich mich bei Windows anmelde, aber danach möchte ich, dass es automatisch ist).

Mein Git-Server wird auf meinem Synology NAS über das offizielle Git Server-Paket ausgeführt. Ich klone über ssh://user@server/foo/bar.

Folgendes habe ich getan/versucht:

  • habe selbst ein öffentliches und privates Schlüsselpaar erstellt über Puttygen.
  • startete Putty Authentication Agent (Pageant) und fügte meinen privaten Schlüssel hinzu.
  • erstellt eine authorized_keys Datei auf dem Server unter / root/.ssh/. Ich habe es nur mit dem Base64-codierten Teil der öffentlichen Schlüsseldatei und auch mit dem Header ---- BEGIN SSH2 PUBLIC KEY ---- und der entsprechenden Fußzeile versucht.
  • set up tortoisegit verwenden TortoiseGitPLink.exe - als SSH-client (der Standard, glaube ich). Ich habe auch versucht pageant.exe, aber das führt zu einem fehler:"Dieser Schlüssel konnte nicht geladen werden (Datei kann nicht geöffnet werden)"

Ich werde immer noch nach einem Passwort gefragt, und der Putty-Agent scheint in keiner Weise an dem Prozess beteiligt zu sein (auch nach der Authentifizierung keine Schlüssel). Jeder Rat wäre sehr dankbar.

Author: gparyani, 2013-12-10

3 answers

Stellen Sie sicher, dass Sie heavyd Anweisungen auf den SSH-Tasten gefolgt sind

Windows Git UND TortoiseGit erfordern 2 in Windows festgelegte Umgebungsvariablen.

GIT_SSH=C:\Programme\TortoiseGit\bin\TortoiseGitPlink.exe -

SVN_SSH=C:\Programme\TortoiseGit\bin\TortoiseGitPlink.exe -

(ersetzen Sie mit Ihren Pfaden, wenn anders)

Sie müssen auch sicherstellen, dass das PLINK_PROTOCOL nicht überschrieben wird. Sonst, PLINK_PROTOCOL=ssh -

Nachdem Sie diese gemacht haben änderungen, überprüfen Sie den Zugriff wie folgt:

Öffnen Sie ein Dos-Befehlsfenster geben Sie den Befehl plink git@git-depot-server name -

Wenn eine Liste von Git-Repositorys zurückgegeben wird, kommunizieren Sie mit Git.

Wenn ein Fehler zurückgegeben wird, müssen Sie möglicherweise Ihre bearbeiten .ssh / config und / oder etc / hosts Windows-Dateien

 4
Author: portunknown,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-12-19 23:34:35

Sie möchten den öffentlichen Schlüssel, der mit der Schaltfläche "Öffentlichen Schlüssel speichern" gespeichert wird, nicht verwenden. In der PuTTY Key Generator-Benutzeroberfläche sollten Sie den Text im oberen Feld in Ihre authorized_keys - Datei kopieren:

PuTTY Schlüssel Generator

Es sollte genau kopiert werden und sollte eine einzelne Zeile in Ihrer authorized_keys Datei sein.

Verwenden Sie auch ssh://root@server/foo/bar, um Ihr Repo zu klonen? Wenn nicht, müssen Sie sicherstellen, dass Sie Ihren öffentlichen Schlüssel der Datei authorized_keys für den richtigen Benutzer hinzufügen.

 2
Author: heavyd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-12-16 17:30:35

Hinzufügen eines ssh-Schlüssels im OpenSSH-Format, der von Putty generiert wurde, zu Ihrem Linux-Konto und Testen, ob Sie sich bei Github oder einem anderen Linux-Server anmelden können

  1. Kopieren Sie die Ordner id_rsa und id_rsa.pub in den Ordner ~/.ssh. Ändern Sie die Berechtigungen der Datei id_rsa in 400/600 mit chmod 600 ~/.ssh/id_rsa https://stackoverflow.com/a/9270753/4752883

  2. Überprüfen Sie, ob ssh-agent mit eval $(ssh-agent -s) and start/restartssh-agent ' (https://stackoverflow.com/a/17848593/4752883 )

  3. Fügen Sie ssh privaten Schlüssel hinzu ssh-agent: ssh-add ~/id_rsa (https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/#adding-your-ssh-key-to-the-ssh-agent)

  4. Stellen Sie sicher, dass der öffentliche Schlüssel an Ihr Konto angehängt ist (https://help.github.com/articles/error-permission-denied-publickey/): ssh-add -l -E md5 . Ausgabe sollte so etwas wie sein 2048 MD5:de:5d… /home/username/.ssh/id_rsa (RSA)

  5. Stellen Sie sicher, dass Sie sich mit ssh bei github oder anderem anmelden können server( https://help.github.com/articles/testing-your-ssh-connection/) : ssh -T [email protected]. Ausgabe sollte lesen Hi username! You've successfully authenticated, but GitHub does not provide shell access.

  6. Wenn ein Fehler wie key_load_public: invalid format angezeigt wird, bedeutet dies, dass Sie das öffentliche Schlüsselformat Puttygen verwenden. Um zu OpenSSH Version des öffentlichen Schlüssels zu wechseln, folgen Sie den Schritten: (https://stackoverflow.com/a/44391850/4752883 )

 0
Author: alpha_989,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-01-15 17:17:58