SYSTEMD-SSH-GENERATOR(8) systemd-ssh-generator SYSTEMD-SSH-GENERATOR(8)

systemd-ssh-generator - ژنراتور ایجاد سوکت‌ها و سرویس‌های SSH برای کانتینرها

/usr/lib/systemd/system-generators/systemd-ssh-generator

systemd-ssh-generator تحت شرایط خاصی یک سرور SSH فعال‌شونده با سوکت را به سوکت‌های محلی AF_VSOCK و AF_UNIX متصل می‌کند. این ژنراتور تنها در صورتی اثرگذار است که فایل باینری sshd(8) نصب شده باشد. به‌طور مشخص، موارد زیر را انجام می‌دهد:

•اگر در یک ماشین مجازی با پشتیبانی از AF_VSOCK فراخوانی شود، یک سرویس SSH فعال‌شونده با سوکت به ازای هر اتصال به درگاه ۲۲ از AF_VSOCK متصل می‌شود.
•اگر در یک محیط کانتینری با یک دایرکتوری قابل نوشتن /run/host/unix-export/ که از پیش متصل شده است فراخوانی شود، SSH را به یک سوکت AF_UNIX در /run/host/unix-export/ssh متصل می‌کند. فرض بر این است که این دایرکتوری به سمت میزبان نیز متصل شده است و می‌توان از آنجا برای اتصال به کانتینر استفاده کرد. برای اطلاعات بیشتر درباره این رابط، به Container Interface[1] مراجعه کنید.
•یک سوکت محلی AF_UNIX در /run/ssh-unix-local/socket نیز بدون قید و شرط متصل می‌شود. این سوکت ممکن است برای ارتباط SSH از میزبان به خودش، بدون درگیر کردن شبکه استفاده شود، برای مثال جهت عبور ایمن از مرزهای امنیتی و با احراز هویت امن.
•سوکت‌های اضافی AF_UNIX و AF_VSOCK به‌صورت اختیاری و بر اساس گزینه خط فرمان هسته systemd.ssh_listen= یا اعتبارنامه سیستمی ssh.listen (به بخش زیر مراجعه کنید) متصل می‌شوند.

برای جزئیات در مورد نحوه اتصال به این سوکت‌ها از طریق کلاینت ssh به systemd-ssh-proxy(1) مراجعه کنید.

اعتبارنامه ssh.authorized_keys.root می‌تواند برای اجازه دادن به کلیدهای عمومی مشخص جهت ورود از طریق SSH استفاده شود. برای اطلاعات بیشتر به systemd.system-credentials(7) مراجعه کنید.

این ژنراتور در صورت وجود یک فایل الگوی سرویس بسته‌بندی‌شده sshd@.service از آن استفاده خواهد کرد، و در غیر این صورت یک فایل الگوی سرویس مناسب تولید می‌کند.

systemd-ssh-generator استاندارد systemd.generator(7) را پیاده‌سازی می‌کند.

systemd-ssh-generator پارامترهای زیر از kernel-command-line(7) را درک می‌کند:

systemd.ssh_auto=

این گزینه یک آرگومان بولی اختیاری می‌پذیرد و مقدار پیش‌فرض آن yes است. اگر فعال باشد، اتصال خودکار به سوکت‌های AF_VSOCK و AF_UNIX فهرست‌شده در بالا انجام می‌شود. در صورت غیرفعال بودن، این کار انجام نمی‌شود، مگر برای مواردی که صراحتاً از طریق systemd.ssh_listen= در خط فرمان هسته یا از طریق اعتبارنامه سیستمی ssh.listen درخواست شده باشند.

افزوده‌شده در نسخه ۲۵۶.

systemd.ssh_listen=

این گزینه یک سوکت اضافی را برای اتصال SSH به آن پیکربندی می‌کند. این گزینه ممکن است چندین بار برای متصل کردن چندین سوکت استفاده شود. ساختار باید از ListenStream= پیروی کند، برای جزئیات به systemd.socket(5) مراجعه کنید. این قابلیت از تمام خانواده‌های سوکت که systemd(1) پشتیبانی می‌کند، شامل AF_INET و AF_INET6 پشتیبانی می‌نماید.

افزوده‌شده در نسخه ۲۵۶.

systemd-ssh-generator از منطق اعتبارنامه‌های سیستم پشتیبانی می‌کند. اعتبارنامه‌های زیر در صورت ارسال استفاده می‌شوند:

ssh.listen

این اعتبارنامه باید یک فایل متنی باشد که هر خط آن به یک سوکت اضافی برای اتصال SSH به آن اشاره دارد. ساختار باید از ListenStream= پیروی کند، برای جزئیات به systemd.socket(5) مراجعه کنید. این قابلیت از تمام خانواده‌های سوکت که systemd پشتیبانی می‌کند، شامل AF_INET و AF_INET6 پشتیبانی می‌نماید.

افزوده‌شده در نسخه ۲۵۶.

ssh.ephemeral-authorized_keys-all

کلیدهای عمومی اضافی را در قالب مرسوم authorized_keys برای همه کاربران، جهت اتصالات ورودی از طریق واحدهای سوکت AF_VSOCK و AF_UNIX تولیدشده فراهم می‌کند.

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

افزوده‌شده در نسخه ۲۵۶.

systemd(1), kernel-command-line(7), systemd.system-credentials(7), vsock(7), unix(7), ssh(1), sshd(8)

1.
Container Interface
systemd 261.2