Annahmen zur Systemadministration finden Sie am Ende dieses Beitrags.
- Laden und installieren Sie Kitt, Plink, Festzug und Puttygen von hier aus
- Wenn Sie keinen SSH-Schlüssel haben, starten Sie Puttygen und:
- Wenn Sie bereits einen von Linux generierten Schlüssel haben:
- Wählen Sie "Eine vorhandene private Schlüsseldatei laden".
- geeignete Datei auswählen (muss Dateierweiterungsfilter ändern)
- Passphrase einfügen
- Wählen Sie "privaten Schlüssel speichern".
- sonst,
- Wählen Sie 'Schlüssel generieren'
- Bewegen Sie die Maus zufällig
- Wählen Sie "privaten Schlüssel speichern".
- Wählen Sie "öffentlichen Schlüssel speichern".
- Wenn Sie bereits einen von Linux generierten Schlüssel haben:
- Schicken Sie Ihrem Sysadmin den PUBLIC KEY, nicht den privaten Schlüssel! (sysadmins: siehe unten)
- Führen Sie eine Windows-Eingabeaufforderung aus (Start> Ausführen und geben Sie "cmd" ein), und starten Sie "pageant.exe".
- Rechtsklick auf das Symbol in der Symbolleiste, 'Schlüssel hinzufügen'
- Wählen Sie Ihren privaten Schlüssel aus, den Sie zuvor gespeichert haben, und geben Sie die Passphrase ein
Spachtel starten
- in hostname put: Die IP-Adresse Ihres Repository-Servers
- Sitzung als '
remote-dev
' speichern (beliebiger Name ist in Ordnung) - gehe zu verbindung> proxy
- Wählen Sie als Proxy-Typ "local" aus
- Proxy-Hostname: Ihr Firewall-DNS-Eintrag oder Ihre IP-Adresse
- port:
22
(oder was auch immer zu ssh in die Firewall passt) - Benutzername:
hg
(oder welcher Benutzer der Firewall hat Ihren öffentlichen SSH-Schlüssel in .ssh / authorised_files) - In 'Telnet-Befehl oder lokaler Proxy' ersetzen Sie den Inhalt durch '
FULLPATH\plink.exe -v -nc %host:%port %user@%proxyhost
' (beachten Sie den vollständigen Pfad der ausführbaren Datei plink.exe. Beispiel: c: \ plink.exe) - gehe zu verbindung> daten
- Benutzername für die automatische Anmeldung: hg (oder bei welchem Benutzer des Repository-Servers ist hg-gateway aktiv)
- gehe zurück zu 'session'
- Klicken Sie auf "Speichern", um die Sitzung zu speichern
- Klicken Sie auf "Öffnen".
Sie sollten so etwas sehen
Using username "hg". Authenticating with public key "imported-openssh-key" from agent Welcome to XXX code repository server! Your SSH access is restricted by hg-gateway. Summary of repos you have access to:
Jetzt downloaden und installieren Sie Tortoisehg
- Starten Sie Tortoisehg Workbench
- Datei> Repository klonen
- source: ssh: //
remote-dev
/repo-name
(remote-dev muss mit dem übereinstimmen, was Sie in Putty als Session bezeichnet haben!) - Ziel: Wählen Sie Ihr lokales Ziel aus
- Klicken Sie auf "Klonen".
- das ist es.
So erlauben Sie einem Benutzer den Zugriff auf das Remote-Repo:
- Fügen Sie den öffentlichen SSH-Schlüssel
.ssh/authorized_keys
des Benutzershg
in der Firewall hinzu - Verwenden Sie
hg-gateway
diese Option, um den Schlüssel dieses Benutzers demhg
Benutzer auf dem Server hinzuzufügen
Ein Hinweis: Putty erzeugt tendenziell Schlüssel im .ppk-Format. Sie müssen in einen Einzeiler-SSH-Schlüssel umgewandelt werden. Google ist dein Freund hier.
Annahmen:
- In der Firewall befindet sich ein Benutzer mit dem Namen '
hg
', dessen.ssh/autorhized_keys
Datei die öffentlichen Schlüssel aller Benutzer enthält, die auf das Repository zugreifen müssen Die Datei / etc / ssh / sshd_config der Firewall enthält eine Zeile ähnlich der folgenden:
Match Group dev ForceCommand nc -q0 reposerver_ip 22
so dass der Benutzer NICHT angeben kann, zu welchen Hosts eine Verbindung hergestellt werden soll. Der Benutzer
hg
gehört offensichtlich zur Unix-Gruppedev
.