میزبان واسط چه میکند
میزبان واسط که bastion هم نامیده میشود، سروری است که مستقیماً به آن دسترسی دارید و میتواند به سرورهای داخلی شما دسترسی پیدا کند. فقط پورت SSH میزبان واسط در معرض دسترسی بیرونی قرار دارد؛ سرورهای داخلی فقط از شبکهٔ داخلی اتصال SSH میپذیرند. با ProxyJump، کلاینت شما یک اتصال SSH به میزبان واسط و اتصال دومی با رمزگذاری سرتاسری از طریق آن به مقصد باز میکند. میزبان واسط ترافیک را عبور میدهد، اما محتوای نشست را نمیبیند و کلید خصوصی شما روی رایانهٔ خودتان میماند.
اتصال از خط فرمان
گزینهٔ -J میزبان واسط را مشخص میکند. چند پرش را با ویرگول جدا کنید؛ پرشها به همان ترتیبی که تعیین میکنید استفاده میشوند. اگر مرتب از یک مسیر استفاده میکنید، تنظیمات را به ~/.ssh/config اضافه کنید تا یک نام مستعار کوتاه کافی باشد.
ssh -J admin@bastion.example admin@app.internal
ssh -J admin@bastion.example,ops@hop2.example admin@app.internal
# ~/.ssh/config
Host app-internal
HostName app.internal
User admin
ProxyJump admin@bastion.exampleکلید همهٔ میزبانها را بررسی کنید
هر پرش یک سرور SSH جداگانه با کلید میزبان مستقل است؛ بنابراین اثر انگشت میزبان واسط و مقصد را از طریق کانال قابل اعتماد دیگری تأیید کنید. تغییر کلید در هر پرش به همان اندازهٔ تغییر کلید در اتصال مستقیم نیازمند توجه است. اثر انگشت ارائهشده هنگام اولین اتصال را با مقداری که مدیر سیستم روی سرور میخواند مقایسه کنید.
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256ProxyJump را به هدایت عامل ترجیح دهید
هدایت عامل (ssh -A) به هر فردی که روی میزبان واسط دسترسی کافی دارد اجازه میدهد تا زمانی که متصل هستید از کلیدهای بارگذاریشدهٔ شما استفاده کند. ProxyJump به آن نیازی ندارد، زیرا احراز هویت نزد مقصد از رایانهٔ خودتان انجام میشود. همچنین از ذخیرهٔ کلیدهای خصوصی روی میزبان واسط خودداری کنید و افراد مجاز به ورود به آن را محدود کنید.
خطاهای رایج
ابتدا مشخص کنید کدام پرش با شکست روبهرو میشود: فقط به میزبان واسط وصل شوید، سپس ssh -vvv را با -J اجرا کنید تا ببینید اتصال کجا متوقف میشود. اگر میزبان واسط کار میکند ولی مقصد نه، علت معمولاً فایروال بین آنها، نام داخلی نادرست یا مقصدی است که کلید شما را نمیپذیرد. سروری با تنظیم AllowTcpForwarding no از ایفای نقش میزبان واسط خودداری میکند.
میزبانهای واسط در CH-J Server Manager
Alpha 0.1.1 از طریق میزبان واسط ذخیرهشده یا واردشده بهصورت دستی متصل میشود و میزبانهای ذخیرهشده میتوانند زنجیرهای شامل حداکثر سه میزبان واسط تشکیل دهند. کلید میزبان در هر پرش بررسی میشود. پایشگر دسترسپذیری، سرور پشت میزبان واسط را فقط از طریق یک نشست باز به همان میزبان واسط بررسی میکند؛ در غیر این صورت سرور را تأییدنشده نشان میدهد و هرگز آن را آنلاین نمایش نمیدهد. Beta 0.1.0 این قابلیت را ندارد.