
autoSSH에서 포트 노킹을 어떻게 사용합니까?
내 현재 솔루션은 스크립트를 실행하는 것입니다.
#! /bin/bash
while :
do
knock myhomecomputer.com 64001 && sleep 1 && knock myhomecomputer.com 64002 && sleep 1 && knock myhomecomputer.com 64003 && sleep 1 && knock myhomecomputer.com 64004
ssh -R 65522:localhost:22 myhomecomputer.com
done
위 스크립트는 crontab에 다음과 같이 배치됩니다.
@reboot screen -dmS reverseSSH /home/user_me/reverse_ssh_4_myhomecomputer
이러한 스크립트는 autoSSH와 어떻게 다릅니까? autoSSH는 어떤 추가 사례를 처리합니까?
아이디어는 위의 스크립트 또는 autoSSH를 대학 방화벽 뒤에 있는 내 연구실 컴퓨터에서 실행하여 집에서 SSH로 연결할 수 있도록 하는 것입니다. 내 집 컴퓨터는 엄청난 양의 무차별 대입 SSH 공격에 직면했기 때문에 노크 시퀀스로 활성화된 방화벽 뒤에 컴퓨터를 설치해야 했습니다. 이 문제를 처리하는 더 좋은 방법이 있나요?
위 스크립트는 작동하며 집 컴퓨터에서 다음 명령을 사용하여 대학 컴퓨터에 SSH로 접속할 수 있습니다.
ssh -p 65522 localhost
답변1
이것이 내가 문제를 해결한 방법이다
~/.ssh/config
다음을 추가하기 위해 실험실 컴퓨터에서 편집했습니다.host myhomecomputer.com HostName myhomecomputer.com user user_me IdentityFile ~/.ssh/user_me.openSSH host myhomecomputer HostName myhomecomputer.com user user_me IdentityFile ~/.ssh/user_me.openSSH ProxyCommand bash -c 'source knock_myhomecomputer_ssh; ssh -TN -R 65522:localhost:22 myhomecomputer.com'
이름
myhomecomputer
(별칭/바로가기) 및myhomecomputer.com
(실제 호스트)을 확인하세요.는 다음
knock_myhomecomputer_ssh
과 같습니다 -SLEEP_T=0.75 knock myhomecomputer.com 64001 && sleep $SLEEP_T && knock myhomecomputer.com 64002 && sleep $SLEEP_T && knock myhomecomputer.com 64003 && sleep $SLEEP_T && knock myhomecomputer.com 64004
내 항목에 다음을 추가했습니다.
crontab
@reboot autossh -f myhomecomputer