Zum Inhalt springen
Secret Knock

Ein knockd-Client für iPhone, iPad und Mac

knockd öffnet einen Port, wenn eine Adresse rechtzeitig eine geheime Portsequenz erreicht. Secret Knock sendet diese Sequenz von deinem iPhone, iPad, Mac oder deiner Apple Watch, prüft, ob der Port antwortet, und öffnet deine SSH-App.

Was Secret Knock sendet

Jeder Schritt einer Tür ist ein TCP- oder UDP-Klopfsignal an einen Port, mit einer optionalen Verzögerung davor und bei UDP mit optionalen Nutzdaten als Text oder Hex. Ein TCP-Klopfsignal ist ein einzelner Verbindungsversuch: Die App sendet ein einzelnes SYN und schließt den Versuch sofort, damit das Betriebssystem ihn nicht erneut überträgt — knockd 0.8 setzt eine Sequenz bei einem wiederholten SYN zurück.

Einmalsequenzen (one_time_sequences von knockd) funktionieren ebenfalls: Wähle Klopftyp › Einmalige Sequenzen (knockd) und gib die Liste ein; nach einem Anklopfen, das die Tür geöffnet hat, fährt Secret Knock mit der nächsten Sequenz fort. Beim Importieren einer knockd.conf wird die Sequenzdatei nicht gelesen — der Import weist darauf hin — gib die Liste daher von Hand ein.

Server einrichten

Ein minimaler knockd-Abschnitt, der SSH für die anklopfende Adresse 10 Sekunden lang öffnet. Wähle eigene Ports — verwende niemals veröffentlichte Beispiele erneut.

[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

Die Tür in der App hinzufügen

  1. 1Neue Tür › Mit einer Vorlage starten › knockd (Beispiel 7000, 8000, 9000) füllt eine TCP-Sequenz mit drei Ports sowie SSH als zu prüfenden Port aus; ersetze die Ports durch deine.
  2. 2Oder + › Aus Datei importieren und deine knockd.conf auswählen: Jeder Abschnitt mit einer Sequenz wird zu einer Tür.
  3. 3Lege IPv4 oder IPv6 für die Tür fest, wenn knockd auf deinem Server nur auf einer Adressfamilie lauscht.
  4. 4Halte den Messing-Türklopfer gedrückt. Die Tür zeigt Tür angelehnt, sobald Port 22 antwortet, und SSH öffnen übergibt dich an deine SSH-App.

Alle Beispiele auf GitHub → Jede Konfiguration auf dieser Seite, kopierbereit: github.com/mobilcomm/secretknock-examples (gemeinfrei).

Fragen

Funktioniert es mit tcpflags = syn von knockd?

Ja. Jedes TCP-Klopfsignal ist ein einzelnes SYN, genau das zählt tcpflags = syn.

Kann ich dasselbe Anklopfen als Befehl sehen?

Ja. Der Tür-Editor zeigt das Anklopfen als Befehl für knock für dein Terminal an, bereit zum Einfügen.

Anleitungen für dein Setup