اتصال SSH از طریق پروکسی HTTP
یک اتصال SSH را از طریق پروکسی HTTP CONNECT موجود با ProxyCommand بهازای هر میزبان عبور دهید.
با nc سازگار با OpenBSD، این ورودی میزبان را به پیکربندی کلاینت SSH اضافه کنید، مانند ~/.ssh/config:
Host work-through-proxy
HostName ssh.example.com
User alex
ProxyCommand nc -X connect -x proxy.example.net:8080 %h %pبرای آن مسیر از ssh work-through-proxy استفاده کنید. کمککننده از پروکسی HTTP درخواست CONNECT به ssh.example.com میکند و جریان پذیرفتهشده را به SSH میسپارد. اگر SSH را مستقیماً به درگاه پروکسی نشانه بگیرید، دستدادن آن به سرویسی میرود که انتظار HTTP دارد.
نقطه پایانی، مقصد و حساب را جایگزین کنید. برای مقصد SSH قابل دسترس عمومی که در آن واسطه عمومی مجاز است، فهرست پروکسیهای HTTP نامزدهایی برای بررسی دسترسی به آن میزبان و درگاه ارائه میدهد؛ نقطه پایانیای انتخاب کنید که برای فرمان نشاندادهشده به حساب پروکسی نیاز ندارد. این گزینههای OpenBSD nc وابسته به پیادهسازی هستند؛ یک فایل اجرایی دیگر با نام nc ممکن است از آنها پشتیبانی نکند.
پروکسی ممکن است ورود خودش را بخواهد یا درگاه SSH درخواستی را رد کند. خطای 407 به همان تبادل با پروکسی مربوط است. پس از باز شدن تونل، SSH هنوز میزبان مقصد را بررسی و کاربر آن را احراز هویت میکند؛ کلید SSH ردشده شکستی متفاوت است.
ProxyCommand را زیر بخش Host موردنظر نگه دارید و در صورت نیاز از مسیر احراز هویت پروکسی که کمککننده انتخابی پشتیبانی میکند استفاده کنید. فرمان یک جریان میدهد، نه اجازه از طریق واسطه. اگر فقط مقصدهای HTTPS مجاز باشند، ترتیب دسترسی SSH تأییدشده بگیرید، نه اینکه فرض کنید املای دیگری از فرمان سیاست را تغییر میدهد.