Ubuntu 서버에서 systemctl 서비스를 통해 ngrok 시작

Ubuntu 서버에서 systemctl 서비스를 통해 ngrok 시작

저는 Ubuntu Server 22.04.1을 실행 중이고 SSH 터널을 생성하기 위해 systemd를 사용하여 부팅 시 ngrok를 실행하려고 합니다.

현재 상태:

  • /etc/systemd/system/BWS_ngrok.service 아래의 BWS_ngrok.service
  • /home/ubuntu/server/bwsv4/ngrok.yml 아래의 ngrok.yml
  • ngrok 경로:/snap/bin/ngrok (기반 which ngrok)

/etc/systemd/system/BWS_ngrok.service:

[Unit]
Description=Start Ngrok at boot
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

[Service]
ExecStart=/snap/bin/ngrok start --config /home/ubuntu/server/bwsv4/ngrok.yml

[Install]
WantedBy=multi-user.target

/home/ubuntu/server/bwsv4/ngrok.yml:

authtoken: <Ngrok-Authtoken>
tunnels:
  ssh:
    proto: tcp
    addr: 22

콘솔에서 내가 한 일:

ubuntu@ubuntu:/etc/systemd/system$ sudo systemctl daemon-reload
ubuntu@ubuntu:/etc/systemd/system$ sudo systemctl restart BWS_ngrok.service
ubuntu@ubuntu:/etc/systemd/system$ sudo systemctl status 

출력 sudo systemctl status BWS_ngrok.service:

BWS_ngrok.service
× BWS_ngrok.service - Start Ngrok at boot
     Loaded: loaded (/etc/systemd/system/BWS_ngrok.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Tue 2022-09-13 19:27:11 UTC; 2s ago
    Process: 4734 ExecStart=/snap/bin/ngrok start --config /home/ubuntu/server/bwsv4/ngrok.yml (code=exited, status=1/FAILURE)
   Main PID: 4734 (code=exited, status=1/FAILURE)
        CPU: 239ms

Sep 13 19:27:11 ubuntu systemd[1]: Started Start Ngrok at boot.
Sep 13 19:27:11 ubuntu systemd[1]: BWS_ngrok.service: Main process exited, code=exited, status=1/FAILURE
Sep 13 19:27:11 ubuntu systemd[1]: BWS_ngrok.service: Failed with result 'exit-code'.

내가 지금까지 시도한 것 :

  • .service파일 에서 : ( ExecStart=/snap/bin/ngrok tcp 22Ngrok-Authtoken은 이전에 추가되었습니다 ngrok config add-authtoken <Ngrok-Authtoken>)
  • 를 사용하여 ngrok 구성 파일의 위치를 ​​확인하면 ngrok config check가 표시되므로 Valid configuration file at /home/ubuntu/snap/ngrok/85/.config/ngrok/ngrok.yml이 파일에 다음을 추가했습니다.
authtoken: <Ngrok-Authtoken>
tunnels:
  ssh:
    proto: tcp
    addr: 22

Edgar Magalon이 말했듯이 Journalctl 로그를 인쇄하려고 하면 다음과 같은 결과가 나타납니다.

Nov 19 16:05:34 bws systemd[1]: Started Start Ngrok at boot.
░░ Subject: A start job for unit BWS_ngrok.service has finished successfully
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ A start job for unit BWS_ngrok.service has finished successfully.
░░
░░ The job identifier is 29439.
Nov 19 16:05:34 bws systemd[1]: BWS_ngrok.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ An ExecStart= process belonging to unit BWS_ngrok.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
Nov 19 16:05:34 bws systemd[1]: BWS_ngrok.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ The unit BWS_ngrok.service has entered the 'failed' state with result 'exit-code'.

이는 systemctl 상태 출력과 동일하므로 추가 정보가 없습니다...

하지만 아직 부팅 시 Ngrok을 시작하지 못했습니다.

관련 정보