2016-06-28 8 views
1

Ich muss einen Proxy verwenden, um von meinem Computer zu einem externen Server zu bekommen. Von dort ssh zu einem Remote-Server und dann hüpfe ich zu einem finalen Gitlab-Server, damit ich Sachen machen kann.Übersetzen Linux ssh Config-Syntax zu PuTTY und Git

Zusammenfassung: Personal Computer -> Interner Server (Proxy) -> Remoteserver -> Remote Gitlab Server === Jetzt sollte ich Git/SourceTree/etc verwenden können, um "git stuff" zu machen.

Ich habe dies auf Ubuntu zu arbeiten (ohne durch den Proxy gehen) mit den Anweisungen unten, aber ich brauche diese Fähigkeit auf Windows (müssen durch den Proxy gehen) daher PuTTY. Diese website gab eine ziemlich enge Darstellung dessen, was ich gerade mache.

der Linux-Anweisungen, die ich bekam, die für den Proxy-Konto nicht sind wie folgt:

  1. die folgende erstellen ~/.ssh/config-Datei:

    Host gitlab.TEMP.com 
    User <your user id> 
    ProxyCommand nc -x localhost:5555 %h %p 
    
  2. einen ssh erstellen tunnel:

    ssh -D 5555 <your user id>@gitlab.TEMP.com 
    
  3. Passen SOCKS Proxy im Browser (dies ist nur notwendig um das gitlab in einem Browser anzuzeigen. Tun Sie dies in Ihrem Nicht-Standard-Browser (Explorer/Mozilla), wie Sie nicht in der Lage sein wird, das Internet mit diesem Browser)

    localhost:5555 
    
  4. Login Gitlab in angeschlossenen Browser und fügen Sie rsa Paar Informationen

  5. suchen
  6. Klon-Repository

    git clone [email protected]:<your user id>/<project>.git 
    

Wichtig: ich war über den Proxy und zum Remote-Server Gitlab erhalten Lage, die Gitlab Repository (dh Schritt anzuzeigen s 1-4 und der fehlende Proxy-Schritt), aber ich kann Git (über Git Bash oder SourceTree) nicht dazu bringen, sich mit dem Repository zu verbinden (Schritt 5). Ich bekomme den Fehler:

ssh: connect to host gitlab.TEMP.com port 22: Connection refused 
fatal: Could not read from remote repository. 
Please make sure you have the correct access rights 
and the repository exists. 

Ideen und Vorschläge würden geschätzt, Bilder der Kittstelle würden Ihnen 10 goldene Sterne geben! :) Danke im Voraus.

Antwort

1

Mit etwas Input von einigen anderen ehrfürchtigen Leuten, die nicht auf Stapel-Überlauf sind, bin ich in der Lage gewesen, Git Magie erfolgreich zu verbinden und zu arbeiten. Die Bilder unten sind die einzigen Dinge, die ich mit Kitt machen musste. Diese Lösung funktionierte für Git Bash und in SourceTree.

im Sitzungs-Tab:

den Hostnamen einfügen soll, verwenden Port 22, und wählen Sie SSH.

Session Tab

Im Proxy-Tab:

Verwenden Sie das entsprechende Proxy-Typ, den Hostnamen und Port. Diese Information hängt von Ihrer Einrichtung ab. Der Proxy, den ich verwendete, war HTTP.

Proxy Tab

Die Tunnel Tab:

Sicherstellen, dass die Box "Local-Ports Verbindungen liegt von anderen Hosts akzeptieren" ist checked.Add der lokale Host mit einem Quell-Port. Ich wählte 2000, bin mir aber nicht sicher, ob das wichtig ist. Fügen Sie auch einen dynamischen 5555 hinzu. Dies ermöglichte mir, die Gitlab-Server-Site in einem Browser anzuzeigen und den RSA-Schlüssel einzurichten (siehe Schritt 3 in der ursprünglichen Frage).

Tunnels Tab

Sie sollten nun in der Lage sein, den Gitlab über Ihren Browser zugreifen. Wenn Ihr RSA-Schlüsselpaar eingerichtet ist, dann gehen Sie zu Ihrem Lieblings-Git-Anwendung oder Git Bash und geben Sie die folgende den Repo in Ihrem aktuellen Arbeitsverzeichnis zu klonen:

git clone ssh://[email protected]:2000/PROJECT.git 

Sie können eine Aufforderung an ein Ja erhalten/Nein-Frage (Geben Sie 'Ja' ein und drücken Sie Enter) und für Ihren RSA-Schlüsselsatz. Der lokale Klon sollte dann erstellt werden.

Hoffentlich funktioniert das für Sie wie es mich getan hat!