개인 서버에 연결하기 위해 SSH를 SOCKS5 프록시로 사용합니다. 시스템이 멈추거나 인터넷 연결이 끊어지면 결국 ssh가 시간 초과되어 수동으로 다시 연결해야 합니다. 인터넷에 연결되는 즉시 자동으로 다시 연결되도록 시스템을 구성하려면 어떻게 해야 합니까?
답변1
나는 한때 다음과 같은 "reverse ssh" 스크립트를 가지고 있었습니다.
laddr=*:0
[email protected]
port=some_port
while :; do
t0=$(date +%s)
ssh -R "$laddr:localhost:22" \
-o BatchMode=yes \
-o CheckHostIP=no \
-o ExitOnForwardFailure=yes \
-o ServerAliveInterval=15 \
-o ConnectTimeout=15 \
-p "$port" "$host"
t1=$(date +%s)
sleep "$((60 / (t1 - t0 + 1)))"
done
연결이 끊어지는 즉시 연결을 시도해야 하지만 ssh가 즉시 종료되는 경우 서버가 파괴되거나 미친 루프가 실행되지 않도록 잠시 기다리십시오.
그러나 나는 오래 전에 그것을 더 나은 것, 즉 "서비스"나 다른 것으로 교체했습니다.
Systemd와 co는 유사한 기능을 제공할 수 있습니다.