Skip to content

SSH — mihomo

mihomo شامل یک خروجی کلاینت SSH است. فقط خروجی — ورودی سرور SSH وجود ندارد.

خروجی

ورودی تحت proxies: با type: ssh. BasicOption را جاسازی می‌کند.

فیلدنوعپیش‌فرضمقادیر مجازتوضیحات
namestring(required)<string>نام یکتای پراکسی.
serverstring(required)<host>میزبان یا IP سرور SSH.
portint(required)<port>پورت سرور SSH (به‌طور قراردادی ۲۲).
usernamestring(required)<string>نام ورود SSH.
passwordstring(unset)<string>احراز هویت با گذرواژه. از این یا `private-key` استفاده کنید، نه هر دو.
private-keystring(unset)<PEM block or file path>احراز هویت با کلید خصوصی. بلوک PEM درون‌خط یا مسیر فایل را می‌پذیرد؛ mihomo قالب را به‌طور خودکار تشخیص می‌دهد.
private-key-passphrasestring(unset)<string>عبارت رمز برای کلیدهای خصوصی رمزگذاری‌شده.
host-key[]string[]<known_hosts line>کلیدهای میزبان مورد انتظار در قالب OpenSSH known_hosts. خالی راستی‌آزمایی را غیرفعال می‌کند — فقط آزمایش.
host-key-algorithms[]string(library default)<algo>محدودسازی الگوریتم‌های کلید میزبان پذیرفته‌شده توسط کلاینت.

منبع: adapter/outbound/ssh.go:31-42 · ثابت‌شده در v1.19.24 (a847246)

مثال‌ها

احراز هویت با کلید:

yaml
proxies:
  - name: ssh-server
    type: ssh
    server: ssh.example.com
    port: 22
    username: alice
    private-key: /etc/mihomo/id_ed25519
    private-key-passphrase: <passphrase>
    host-key:
      - ssh.example.com ssh-ed25519 AAAA...

کلید درون‌خط با الگوریتم‌های صریح:

yaml
proxies:
  - name: ssh-strict
    type: ssh
    server: ssh.example.com
    port: 22
    username: alice
    private-key: |
      -----BEGIN OPENSSH PRIVATE KEY-----
      <key bytes>
      -----END OPENSSH PRIVATE KEY-----
    host-key-algorithms:
      - ssh-ed25519
      - rsa-sha2-512

نکات

  • private-key یا یک بلوک PEM درون‌خط یا یک مسیر فایل را می‌پذیرد؛ mihomo با بررسی اینکه آیا مقدار حاوی BEGIN هست تصمیم می‌گیرد.
  • host-key قالب OpenSSH known_hosts است. فهرست خالی یعنی اعتماد در اولین استفاده — هرگز این را برای استقرارهای بدون نظارت فعال نکنید.
  • خروجی SSH از چندسوسازی پشتیبانی نمی‌کند — هر اتصال یک نشست تازهٔ SSH باز می‌کند. در صورت تمایل به چندسوسازی از طریق ترابرد دیگر، با زنجیره‌سازی dialer-proxy در mihomo جفت کنید.

نکات بین‌هسته‌ای

  • Xray-core خروجی SSH ندارد. به SSH — Xray-core مراجعه کنید.
  • sing-box از user (نه username) و snake_case برای بقیه (private_key، host_key_algorithms) استفاده می‌کند و فهرستی از کلیدهای درون‌خط را برای چرخش می‌پذیرد. همچنین فیلد بنر client_version را نمایش می‌دهد. به SSH — sing-box مراجعه کنید.

منبع: adapter/outbound/ssh.go:31-42 · v1.19.24 (a847246)

Core Tutorial اثر Argsment