Перейти до вмісту
Secret Knock

Клієнт knockd для iPhone, iPad і Mac

knockd відкриває порт, коли одна адреса вчасно звертається до секретної послідовності портів. Secret Knock надсилає цю послідовність із вашого iPhone, iPad, Mac або Apple Watch, перевіряє, чи відповідає порт, і відкриває ваш застосунок SSH.

Що надсилає Secret Knock

Кожен крок дверей — це TCP- або UDP-стук в один порт із необов’язковою затримкою перед ним і, для UDP, необов’язковими корисними даними у вигляді тексту або шістнадцяткового коду. TCP-стук — це одна спроба з’єднання: застосунок надсилає один SYN і відразу закриває спробу, тому операційна система не надсилає його повторно — knockd 0.8 скидає послідовність у разі повторного SYN.

Одноразові послідовності (one_time_sequences у knockd) також працюють: виберіть Тип стуку › Одноразові послідовності (knockd) та введіть список; після стуку, що відчинив двері, Secret Knock переходить до наступної послідовності. Імпорт knockd.conf не зчитує файл послідовностей — про це зазначено під час імпортування — тому введіть цей список вручну.

Налаштуйте сервер

Мінімальний розділ knockd, який відкриває SSH для адреси, що стукає, на 10 секунд. Виберіть власні порти — ніколи не використовуйте повторно опубліковані приклади.

[options]
    UseSyslog

[openSSH]
    sequence      = 7311:tcp,8822:tcp,9133:udp
    seq_timeout   = 10
    tcpflags      = syn
    start_command = /usr/sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
    cmd_timeout   = 10
    stop_command  = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
/etc/knockd.conf

Додайте двері в застосунку

  1. 1Шаблон Нові двері › Почати з шаблону › knockd (приклад: 7000, 8000, 9000) заповнює TCP-послідовність із трьох портів і встановлює SSH як порт для перевірки; замініть порти на власні.
  2. 2Або + › Імпортувати з файлу й виберіть свій knockd.conf: кожен розділ із послідовністю стає дверима.
  3. 3Закріпіть IPv4 або IPv6 для дверей, якщо knockd на вашому сервері слухає лише одне сімейство адрес.
  4. 4Натисніть та утримуйте латунний дверний молоток. Щойно порт 22 відповість, двері покажуть Двері прочинено, а Відкрити SSH передасть вас до вашого застосунку SSH.

Усі приклади на GitHub → Усі конфігурації з цієї сторінки, готові до копіювання: github.com/mobilcomm/secretknock-examples (суспільне надбання).

Запитання

Чи працює це з tcpflags = syn у knockd?

Так. Кожен TCP-стук — це один SYN, саме це й рахує tcpflags = syn.

Чи можу я переглянути той самий стук як команду?

Так. Редактор дверей показує стук як команду knock для вашого термінала, готову до вставлення.

Посібники для вашого налаштування