init에서 역방향 터널을 시작하고 백그라운드에서 autossh를 사용합니다.

init에서 역방향 터널을 시작하고 백그라운드에서 autossh를 사용합니다.

서버에 대한 역방향 터널 연결을 설정하려면 초기화 스크립트가 필요합니다. 나는 다음과 같은 시작 스크립트를 생각해 냈습니다.

#! /bin/sh
### BEGIN INIT INFO
### END INIT INFO
case "$1" in
    start)
        echo "Starting autossh"
        /usr/bin/autossh -M 22222 -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -i /path/to/my.key -R 9999:localhost:22 ubuntu@host
    ;;
    stop)
        echo -n "Shutting down autossh"
        /usr/bin/killall -KILL autossh
    ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac
exit 0

문제가 있습니다. 백그라운드에서 프로세스가 시작되지 않습니다. 그렇지 않으면 예상대로 작동합니다. -f플래그를 사용하고 start)줄을 다음으로 변경해 보았 /usr/bin/autossh -f -M 22222으나 작동하지 않는 것 같은데 그 이유를 알고 싶습니다. 내가 뭘 잘못하고 있는 거지? 매뉴얼 페이지에 다음과 같이 나와 있습니다.

-에프'SSH를 실행하기 전에 autossh가 백그라운드로 이동하도록 합니다.

여기서 무슨 일이 일어나고 있는 걸까요?

/var/log/syslog서버 에서 다음을 볼 수 있습니다.

Nov 3 22:01:10 ip-172-31-33-223 systemd[1]: Started Session 1524 of user ubuntu.

플래그가 있든 없든 -f, 즉 클라이언트가 연결을 설정 host하지만 플래그가 있으면 -f포트 9999에서 localhost를 통해 로그인할 수 없습니다... :o

관련 정보