Git قواعد SSH را با نام موجود در URL راه دور خود انتخاب میکند
از نام مستعار میزبان SSH در URL راه دور Git استفاده کنید تا بلوک Host و ProxyCommand مورد نظر انتخاب شوند.
وقتی آن نام مستعار مالک مسیر پروکسی است، از نام مستعار SSH در Git remote استفاده کنید:
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 در شبکهای که واسطه عمومی را مجاز میکند، فهرست پروکسی HTTP گزینههایی برای میزبان و درگاه پروکسی فراهم میکند. مثال بدون حساب پروکسی را فقط با گرهای به کار ببرید که CONNECT به مقصد و درگاه واقعی SSH را مجاز میکند.
remoteای که از [email protected]:team/project.git استفاده میکند در عوض با git.example.net مطابقت مییابد. فقط به این دلیل که HostName آن نام مستعار به آنجا اشاره میکند، نام مستعار را انتخاب نمیکند. یا از نام مستعار استفاده کنید یا قاعده مورد نظر را زیر نام واقعی بگذارید.
بلوکهای منطبق قبلی را هم بررسی کنید. در بیشتر گزینههای SSH نخستین مقدار بهدستآمده برنده است، پس تنظیمات مشخص را پیش از پیشفرضهای گستردهای که همان گزینه را تعریف میکنند قرار دهید.