일시 중지 후 SSH에 자동으로 다시 연결

일시 중지 후 SSH에 자동으로 다시 연결

저는 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도 비슷한 기능을 제공하고 있을 것입니다.

관련 정보