Quacks Antwort ist ein guter Anfang, hat aber zwei Probleme. Also werde ich es auch versuchen:
Sie müssen zuerst einen Tunnel von Ihrer lokalen Workstation zum SSH-Port von Maschine A erstellen. Dies kann einfach über die Befehlszeile erfolgen:
ssh -L 127.0.0.1:2200:A:22 B
(ssh nach B und erstellen Sie einen Tunnel vom localport 127.0.0.1:2200 zum Remote-Port A: 22)
Da CVS bei der Verwendung des :ext
Protokolls keine Ports angeben darf, ist diese einfache Befehlszeile nicht gut genug. Stattdessen müssen Sie Ihre ~/.ssh/config
Datei erstellen oder ändern :
Host B LocalForward 127.0.0.1:2200 A:22 Host tunnel2a Port 2200 HostName 127.0.0.1
Dies sind zwei Einträge. Der erste weist ssh an, immer einen Tunnel zu erstellen, wenn Sie von ssh auf B tunnel2a
wechseln. Der zweite definiert den neuen 'Hostnamen', den Sie für cvs verwenden können.
Öffnen Sie zunächst den Tunnel, indem Sie nach B wechseln:
ssh B
CVS sollte jetzt so funktionieren:
cvs -d :ext:username@tunnel2a:/cvsroot/ checkout someModule