iPhone, iPad 및 Mac용 knockd 클라이언트
knockd는 하나의 주소가 정해진 시간 안에 비밀 포트 시퀀스를 실행하면 포트를 엽니다. Secret Knock은 iPhone, iPad, Mac 또는 Apple Watch에서 해당 시퀀스를 보내고, 포트가 응답하는지 확인한 다음 SSH 앱을 엽니다.
Secret Knock이 보내는 항목
문의 각 단계는 하나의 포트에 대한 TCP 또는 UDP 노크이며, 그 전에 선택적으로 지연 시간을 설정할 수 있고 UDP의 경우 텍스트 또는 16진수 형식의 선택적 페이로드를 지정할 수 있습니다. TCP 노크는 한 번의 연결 시도입니다. 앱은 SYN을 하나만 보내고 즉시 시도를 종료하므로 운영 체제가 이를 재전송하지 않습니다. knockd 0.8은 SYN이 반복되면 시퀀스를 재설정합니다.
일회용 시퀀스(knockd의 one_time_sequences)도 사용할 수 있습니다. 노크 유형 › 일회용 시퀀스를 선택하고 목록을 입력하세요. 문을 연 노크 후 Secret Knock은 다음 시퀀스로 이동합니다. knockd.conf를 가져와도 시퀀스 파일은 읽지 않으며, 가져오기 과정에서도 이를 알립니다. 따라서 해당 목록은 직접 입력하세요.
서버 설정
노크를 보내는 주소에 대해 SSH를 10초 동안 여는 최소한의 knockd 섹션입니다. 직접 포트를 선택하세요. 공개된 예제의 포트는 절대 재사용하지 마세요.
[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 앱에서 문 추가
- 1새 문 › 템플릿으로 시작 › knockd(예: 7000, 8000, 9000)를 선택하면 3개 포트 TCP 시퀀스와 확인할 포트로 SSH가 입력됩니다. 포트를 사용자의 포트로 바꾸세요.
- 2또는 + › 파일에서 가져오기를 선택하고 knockd.conf를 고르세요. 시퀀스가 있는 각 섹션이 하나의 문이 됩니다.
- 3서버의 knockd가 하나의 주소 계열에서만 수신하는 경우 문에 IPv4 또는 IPv6를 고정하세요.
- 4황동 노커를 길게 누르세요. 포트 22가 응답하면 문에 문이 살짝 열림이 표시되며, SSH 열기는 SSH 앱으로 전환합니다.
GitHub의 모든 예제 → 이 페이지의 모든 설정을 복사하여 바로 사용할 수 있습니다: github.com/mobilcomm/secretknock-examples (퍼블릭 도메인).
질문
knockd의 tcpflags = syn과 함께 작동하나요?
예. 각 TCP 노크는 단일 SYN이며, 이는 tcpflags = syn이 정확히 계산하는 방식입니다.
동일한 노크를 명령어로 볼 수 있나요?
예. 문 편집기에 터미널용 knock 명령어가 표시되며, 바로 붙여넣을 수 있습니다.