CH-J Server Managerمدیریت سرور از طریق SSH
منو
همهٔ راهنماها و مقاله‌ها ←

روش اتصال از طریق میزبان واسط SSH (bastion)

از طریق یک یا چند میزبان واسط به سرورهای داخلی دسترسی پیدا کنید، کلید همهٔ میزبان‌ها را بررسی کنید و از هدایت عامل بپرهیزید.

میزبان واسط چه می‌کند

میزبان واسط که 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 sha256

ProxyJump را به هدایت عامل ترجیح دهید

هدایت عامل (ssh -A) به هر فردی که روی میزبان واسط دسترسی کافی دارد اجازه می‌دهد تا زمانی که متصل هستید از کلیدهای بارگذاری‌شدهٔ شما استفاده کند. ProxyJump به آن نیازی ندارد، زیرا احراز هویت نزد مقصد از رایانهٔ خودتان انجام می‌شود. همچنین از ذخیرهٔ کلیدهای خصوصی روی میزبان واسط خودداری کنید و افراد مجاز به ورود به آن را محدود کنید.

خطاهای رایج

ابتدا مشخص کنید کدام پرش با شکست روبه‌رو می‌شود: فقط به میزبان واسط وصل شوید، سپس ssh -vvv را با -J اجرا کنید تا ببینید اتصال کجا متوقف می‌شود. اگر میزبان واسط کار می‌کند ولی مقصد نه، علت معمولاً فایروال بین آن‌ها، نام داخلی نادرست یا مقصدی است که کلید شما را نمی‌پذیرد. سروری با تنظیم AllowTcpForwarding no از ایفای نقش میزبان واسط خودداری می‌کند.

میزبان‌های واسط در CH-J Server Manager

Alpha 0.1.1 از طریق میزبان واسط ذخیره‌شده یا واردشده به‌صورت دستی متصل می‌شود و میزبان‌های ذخیره‌شده می‌توانند زنجیره‌ای شامل حداکثر سه میزبان واسط تشکیل دهند. کلید میزبان در هر پرش بررسی می‌شود. پایشگر دسترس‌پذیری، سرور پشت میزبان واسط را فقط از طریق یک نشست باز به همان میزبان واسط بررسی می‌کند؛ در غیر این صورت سرور را تأییدنشده نشان می‌دهد و هرگز آن را آنلاین نمایش نمی‌دهد. Beta 0.1.0 این قابلیت را ندارد.

مستندات مفصل

OpenSSH: ssh (-J) ←

OpenSSH: ssh_config (ProxyJump) ←

باز کردن قفل بیومتریک و امنیت ←