.\" Generated by scdoc 1.11.5 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "hussh" "1" "2026\-08\-24" .PP .SH "نام (NAME)" .PP hussh \- دیمن SSH ایمن از نظر حافظه برای هدایت محدود TCP .PP .SH "خلاصه دستور (SYNOPSIS)" .PP \fBhussh\fR [\fIگزینه‌ها\fR] .PP .SH "توضیحات (DESCRIPTION)" .PP دستور \fBhussh\fR یک سرور حداقلی SSH است که فقط بازارسال TCP ("direct\-tcpip") را پیاده‌سازی می‌کند.\& این ابزار برای استفاده به عنوان تونل، پروکسی یا میزبان پرش (jump host) محدود SSH طراحی شده است که در آن نشست‌های ورود تعاملی و اجرای فرمان از راه دور مورد نیاز یا مطلوب نیستند.\& تنها احراز هویت با کلید عمومی پشتیبانی می‌شود و ورود با گذرواژه هرگز پذیرفته نخواهد شد.\& یک حالت اختیاری هانی‌پات (honeypot) با تعامل اندک می‌تواند تلاش‌های ناخواسته احراز هویت با گذرواژه را ثبت یا گزارش کند.\& .PP نشست‌های شل تعاملی، تخصیص PTY و اجرای فرمان از راه دور همگی به طور صریح پشتیبانی نمی‌شوند.\& .PP به طور پیش‌فرض، \fBhussh\fR به `[::]:2` متصل می‌شود و در پیش‌زمینه اجرا می‌گردد.\& .PP .SH "گزینه‌ها (OPTIONS)" .PP \fB\-c\fR, \fB\-\-config\fR \fIمسیر\fR .RS 4 مسیر فایل پیکربندی TOML.\& برای حالت دیمن الزامی است.\& .PP .RE \fB\-B\fR, \fB\-\-bind\fR \fIنشانی\fR .RS 4 نشانی برای اتصال (نشانی سوکت).\& نمونه: `[::]:22` .PP .RE \fB\-K\fR, \fB\-\-keygen\fR .RS 4 تولید یک کلید خصوصی Ed25519 در قالب OpenSSH و چاپ آن در stdout، سپس خروج.\& .PP .RE \fB\-v\fR, \fB\-\-verbose\fR .RS 4 افزایش سطح جزئیات لاگ.\& برای افزایش بیشتر جزئیات تکرار کنید.\& .PP .RE \fB\-\-help\fR .RS 4 نمایش راهنمای دستور و خروج.\& .PP .RE \fB\-\-version\fR .RS 4 نمایش نسخه و خروج.\& .PP .RE .SH "پیکربندی (CONFIGURATION)" .PP محل پیش‌فرض فایل پیکربندی \fB/etc/hussh.\&conf\fR است.\& یک پیکربندی حداقلی به شکل زیر خواهد بود: .PP .nf .RS 4 [[rules]] ssh_keys = [ "ssh\-ed25519 AAAAC3Nyourkeyhere", ] # مقصدهای مجاز برای اتصال permit = ["*"] .fi .RE .PP یک پیکربندی مفصل‌تر می‌تواند به شکل زیر باشد: .PP .nf .RS 4 [sshd] # تغییر نشانی اتصال ssh (پورت 22 روی ipv4 + ipv6) bind_addr = "[::]:22" [[rules]] # به جای اجازه دادن به هر نام کاربری، یک مقدار مشخص الزامی است username = "proxy" ssh_keys = [ "ssh\-ed25519 AAAAC3Nyourkeyhere", "ssh\-ed25519 AAAAC3Nanotherkey", ] # مقصدهای مجاز برای اتصال permit = [ # همه پورت‌ها در مقصدهای مشخص "example\&.com:*", "127\&.0\&.0\&.1:*", # پالایش بر اساس پورت "*:443", ] # اگر قاعده قبلی مطابقت نداشت، این قاعده را بررسی کن: [[rules]] ssh_keys = [ "ssh\-ed25519 AAAAC3Nyourkeyhere", ] permit = [ # فقط به مکان‌های مشخص اجازه داده شود "127\&.0\&.0\&.1:8080", "[::1]:8080", ] .fi .RE .PP .SH "نحو قوانین (RULES SYNTAX)" .PP گزینه \fIpermit=\fR هم مقصدهای مشخص و هم عبارات عامه‌نما (wildcard) را مجاز می‌شمارد.\& موارد زیر معتبر هستند: .PP \fIHOST:PORT\fR, \fIIP:PORT\fR .PP .RS 4 تطابق دقیق نشانی IP یا نام میزبان و شماره پورت.\& .PP \fBنمونه:\fR \fIexample.\&com:443\fR, \fI127.\&0.\&0.\&1:22\fR, \fI[::1]:22\fR .PP .RE \fIHOST:*\fR, \fIIP:*\fR .PP .RS 4 تطابق دقیق نشانی IP یا نام میزبان و هر شماره پورتی.\& .PP \fBنمونه:\fR \fIexample.\&com:*\fR, \fI127.\&0.\&0.\&1:*\fR, \fI[::1]:*\fR .PP .RE \fI*\fR:\fIPORT\fR .PP .RS 4 هر میزبان یا نشانی IP، ولی تطابق دقیق شماره پورت.\& .PP \fBنمونه:\fR \fI*:443\fR .PP .RE \fI*:*\fR, \fI*\fR .PP .RS 4 هر میزبان یا نشانی IP و هر شماره پورتی.\& همچنین می‌تواند به اختصار به صورت \fI*\fR نوشته شود.\& .PP \fBنمونه:\fR \fI*:*\fR, \fI*\fR .PP .RE .SH "مثال‌های کلاینت اس‌اس‌اچ (SSH CLIENT EXAMPLES)" .PP راه‌اندازی به عنوان میزبان پرش (jump host) برای دومین دیمن SSH که فقط روی localhost فعال است: .PP .nf .RS 4 cat >> ~/\&.ssh/config <