השתמשו בכינוי ה-SSH ב-remote של Git כאשר הכינוי הזה מחזיק בנתיב ה-proxy:

Host code-via-proxy
    HostName git.example.net
    User git
    ProxyCommand nc -X connect -x proxy.example.net:8080 %h %p

code-via-proxy מותאם לשם ה-SSH שסופק. לאחר מכן HostName מזהה את השרת האמיתי. הדוגמה דורשת netcat תואם OpenBSD: -X connect מבקש HTTP CONNECT אל יעד ה-SSH.

עבור checkout חדש:

git clone git@code-via-proxy:team/project.git

עבור checkout קיים:

git remote set-url origin git@code-via-proxy:team/project.git

החליפו בנתיב המאגר האמיתי. הכינוי משנה את בחירת החיבור, לא את זהות המאגר בשרת שלו. עבור שרת Git SSH ציבורי ברשת שמאפשרת מתווך ציבורי, רשימת ה-proxy של HTTP מספקת מועמדים למארח ולפורט של ה-proxy. השתמשו בדוגמה ללא חשבון proxy רק עם צומת שמאפשר CONNECT אל יעד ה-SSH והפורט האמיתיים.

remote שמשתמש ב-[email protected]:team/project.git מתאים במקום זאת ל-git.example.net. הוא אינו בוחר בכינוי רק משום שה-HostName של הכינוי מצביע לשם. השתמשו בכינוי או הציבו את הכלל המיועד תחת השם האמיתי.

עברו גם על בלוקים תואמים קודמים. ברוב אפשרויות ה-SSH הערך הראשון שנמצא מנצח, לכן הציבו הגדרות ספציפיות לפני ברירות מחדל רחבות שמגדירות את אותה אפשרות.

מאמרים קשורים