COCKPIT.CONF(5) cockpit COCKPIT.CONF(5)

cockpit.conf - فایل پیکربندی Cockpit

برنامه Cockpit می‌تواند از طریق /etc/cockpit/cockpit.conf پیکربندی شود. اگر متغیر $XDG_CONFIG_DIRS تنظیم شده باشد، نخستین مسیری که حاوی ../cockpit/cockpit.conf باشد به جای آن استفاده می‌شود. سایر فایل‌ها و دایرکتوری‌های پیکربندی نیز به همین شیوه جستجو می‌شوند.

این فایل الزامی نیست و ممکن است نیاز باشد به صورت دستی ایجاد شود. این فایل دارای ساختار INI است و بنابراین شامل جفت‌های کلید / مقدار است که در گروه‌های موضوعی دسته‌بندی شده‌اند. برای جزئیات به مثال‌های زیر مراجعه کنید.

نکته: پورتی که cockpit روی آن گوش می‌دهد را نمی‌توان در این فایل تغییر داد. برای تغییر پورت، فایل cockpit.socket مربوط به systemd را ویرایش کنید.

Origins

به طور پیش‌فرض cockpit اتصالات وب‌سوکت میان‌دامنه‌ای (crossdomain) را نمی‌پذیرد. از این تنظیم برای مجاز کردن دسترسی از دامنه‌های جایگزین استفاده کنید. مبداها (Origins) باید در صورت نیاز شامل طرح (scheme)، میزبان (host) و پورت باشند. استفاده از نویسه‌های عمومی (wildcards) و عبارات گلوب (glob) مجاز است. براکت‌های آدرس‌های IPv6 باید با بک‌اسلش اسکیپ شوند (مانند \[::1\]) چرا که با استفاده از fnmatch() تطبیق داده می‌شوند.
[WebService]
Origins = https://somedomain1.com https://somedomain2.com:9090 https://*.somedomain3.com https://\[::1\]:9090

ProtocolHeader

پیکربندی cockpit برای بررسی محتوای این هدر به منظور تعیین اینکه آیا اتصال از tls استفاده می‌کند یا خیر. این مورد فقط باید زمانی استفاده شود که cockpit پشت یک پراکسی معکوس (reverse proxy) قرار دارد، و باید مراقبت شود که درخواست‌های ورودی نتوانند این هدر را دستکاری و تنظیم کنند.
[WebService]
ProtocolHeader = X-Forwarded-Proto

ForwardedForHeader

پیکربندی cockpit برای بررسی محتوای این هدر به منظور تعیین مبدا واقعی یک اتصال. این مورد فقط باید زمانی استفاده شود که cockpit پشت یک پراکسی معکوس قرار دارد، و باید مراقبت شود که درخواست‌های ورودی نتوانند این هدر را تنظیم کنند.
[WebService]
ForwardedForHeader = X-Forwarded-For

LoginTitle

تنظیم عنوان مرورگر برای صفحه ورود.

LoginTo

هنگامی که روی true تنظیم شود، گزینه Connect to در صفحه ورود قابل مشاهده خواهد بود و امکان ورود به یک سرور دیگر را فراهم می‌کند. هنگامی که روی false تنظیم شود، ورودهای مستقیم از راه دور غیرمجاز می‌شوند. اگر این گزینه مشخص نشده باشد، بر اساس اینکه آیا بسته cockpit-bridge نصب است و برنامه ssh در دسترس قرار دارد یا خیر، به طور خودکار تشخیص داده می‌شود.

اگر cockpit-ws در معرض اینترنت عمومی قرار دارد و هم‌زمان به یک شبکه خصوصی داخلی نیز دسترسی دارد، توصیه می‌شود که صراحتاً LoginTo=false تنظیم شود. این کار از اسکن شبکه داخلی توسط مهاجمان احراز هویت‌نشده از راه دور برای یافتن ماشین‌های موجود و پورت‌های باز جلوگیری می‌کند.

RequireHost

هنگامی که روی true تنظیم شود، cockpit کاربران را ملزم می‌کند تا از گزینه Connect to برای مشخص کردن میزبانی که قصد ورود به آن را دارند استفاده کنند.

AllowMultiHost

هنگامی که روی true تنظیم شود، cockpit به کاربران اجازه می‌دهد در یک نشست به چندین میزبان متصل شوند. مقدار پیش‌فرض به سیستم‌عامل بستگی دارد.

هنگام اتصال به چندین سرور، جاوااسکریپت (JavaScript) بدون ایزوله‌سازی اجرا می‌شود. همه سیستم‌ها در معرض حملات احتمالی از سوی سایر میزبان‌های متصل خواهند بود. این گزینه را فقط زمانی فعال کنید که به تمام میزبان‌ها کاملاً اعتماد دارید.

MaxStartups

مشابه گزینه پیکربندی هم‌نام در sshd است. حداکثر تعداد تلاش‌های هم‌زمان برای ورود را مشخص می‌کند. اتصالات اضافی تا زمان موفقیت احراز هویت یا بسته شدن اتصالات قطع خواهند شد. مقدار پیش‌فرض 10 است.

همچنین می‌توان با مشخص کردن سه مقدار جدا شده با دو نقطه start:rate:full (برای مثال "10:30:60")، قابلیت قطع زودهنگام تصادفی (random early drop) را فعال کرد. اگر در حال حاضر start (10) اتصال احراز هویت‌نشده وجود داشته باشد، Cockpit با احتمال rate/100 (30%) شروع به رد تلاش‌های احراز هویت خواهد کرد. این احتمال به صورت خطی افزایش می‌یابد و در صورتی که تعداد اتصالات احراز هویت‌نشده به full (60) برسد، تمام تلاش‌های اتصال رد می‌شوند.

AllowUnencrypted

اگر true باشد، cockpit اتصالات رمزگذاری‌نشده HTTP را می‌پذیرد. در غیر این صورت، تمام اتصالات HTTP را به HTTPS هدایت می‌کند. اتصالات از localhost و برای برخی نشانی‌های خاص (مانند /ping) از این قاعده مستثنی هستند. مقدار پیش‌فرض false است.

UrlRoot

نشانی ریشه (Root URL) که Cockpit روی آن ارائه خواهد شد. در صورت مشخص شدن، cockpit انتظار دارد تمام درخواست‌ها با نشانی وب داده شده پیشوند شوند. این تنظیم بیشتر زمانی مفید است که از cockpit پشت یک پراکسی معکوس مانند nginx استفاده می‌کنید. مفاهیم /cockpit/ و /cockpit+ رزرو شده هستند و نباید استفاده شوند. برای مثال /cockpit-new/ مجاز است، اما /cockpit/ و /cockpit+new/ مجاز نیستند.

ClientCertAuthentication

اگر true باشد، گواهی‌های کلاینت TLS را برای احراز هویت کاربران فعال می‌کند. معمولاً این گواهی‌ها توسط کارت هوشمند (smart card) ارائه می‌شوند، اما وارد کردن مستقیم گواهی‌ها به داخل مرورگر وب نیز امکان‌پذیر است. لطفاً برای جزئیات به بخش احراز هویت با گواهی/کارت هوشمند (Certificate/smart card authentication) https://docs.cockpit-project.org/cockpit-guide/latest/guide/cert-authentication.html
در راهنمای Cockpit مراجعه کنید.

Shell

نشانی وب نسبی به مؤلفه سطح بالا که پس از ورود در Cockpit نمایش داده می‌شود. پیش‌فرض /shell/index.html است.

CustomLoginPage

بارگذاری صفحه ورود از یک دایرکتوری جایگزین. این دایرکتوری باید حاوی یک فایل login.html و به صورت اختیاری یک فایل po.js برای ترجمه‌ها باشد. در صورت عدم تنظیم، از دایرکتوری ثابت $prefix/share/cockpit/static استفاده می‌شود.

Fatal

نوع پیام‌های لاگ در bridge که باید بحرانی (fatal) تلقی شوند. مقادیر متعدد را با فاصله جدا کنید. مقادیر مرتبط عبارتند از: criticals و warnings.

Cockpit می‌تواند برای پشتیبانی از جریان مجوزدهی OAuth با اعطای ضمنی (implicit grant) https://tools.ietf.org/html/rfc6749#section-4.2
پیکربندی شود. در صورت موفقیت، توکن oauth حاصل با استفاده از روش احراز هویت Bearer به cockpit-ws ارسال خواهد شد. برای ورود موفقیت‌آمیز، cockpit همچنین باید برای اعتبارسنجی و مجاز دانستن توکن‌های Bearer پیکربندی شده باشد.

URL

نشانی وبی است که cockpit هنگام نیاز به دریافت توکن oauth، مرورگر کاربر را به آن هدایت می‌کند. Cockpit یک پارامتر redirect_uri با مشخص کردن مقصدی که ارائه‌دهنده oauth باید پس از دریافت توکن کاربر را به آن هدایت کند، به نشانی وب اضافه خواهد کرد.

ErrorParam

هنگامی که ارائه‌دهنده oauth کاربر را به cockpit بازمی‌گرداند، این پارامتر را در رشته پرس‌وجو (querystring) یا بخش فرگمنت نشانی وب برای یافتن پیام خطا جستجو می‌کند. در صورت عدم ارائه، مقدار پیش‌فرض error_description خواهد بود.

TokenParam

هنگامی که ارائه‌دهنده oauth کاربر را به cockpit بازمی‌گرداند، این پارامتر را در رشته پرس‌وجو یا بخش فرگمنت نشانی وب برای یافتن توکن دسترسی جستجو می‌کند. در صورت عدم ارائه، مقدار پیش‌فرض access_token خواهد بود.

Banner

محتوای فایل مشخص شده (معمولاً /etc/issue) در صفحه ورود نشان داده می‌شود. به طور پیش‌فرض، هیچ بنری نمایش داده نمی‌شود.

IdleTimeout

مدت زمان بر حسب دقیقه که پس از آن در صورت عدم انجام فعالیتی از سوی کاربر، نشست منقضی شده و کاربر خارج می‌شود. این مهلت بی‌کاری فقط برای ورودهای تعاملی با گذرواژه اعمال می‌شود. در روش‌های احراز هویت غیرتعاملی مانند Kerberos، OAuth یا ورود با گواهی، مرورگر نمی‌تواند اعتبارنامه‌ها را فراموش کند و بنابراین خروج‌های خودکار برای محافظت از اعتبارنامه‌های نشست‌های فراموش‌شده کارایی ندارند. مقدار را روی 0 تنظیم کنید تا زمان انقضای نشست غیرفعال شود.
[Session]
IdleTimeout=15
در صورت عدم تعیین، به طور پیش‌فرض هیچ مهلت زمانی بی‌کاری وجود ندارد.

WarnBeforeConnecting

تعیین اینکه آیا پیش از اتصال به میزبان‌های راه دور از طریق Shell هشدار داده شود یا خیر. مقدار پیش‌فرض true است.
[Session]
WarnBeforeConnecting=false

لطفاً گزارش‌های باگ را به سامانه ردیابی خطای توزیع یا ردیاب باگ بالادست (upstream) https://github.com/cockpit-project/cockpit/issues/new
ارسال کنید.

برنامه Cockpit توسط مشارکت‌کنندگان https://github.com/cockpit-project/cockpit
بسیاری توسعه یافته است.

cockpit-ws(8), cockpit-tls(8)

2026-08-27 cockpit