원격/역방향 터널을 설정했으며 성공적으로 액세스 cloud server <- in-house server
할 수 있습니다 http://cloudserver.com:8001
.
내부 서버에서 다음 명령을 수동으로 실행했는데 성공적으로 실행되었습니다.
/usr/bin/ssh -N -vvv -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -R 8001:127.0.0.1:80 [email protected]
시스템 서비스로 설정하면(GUI가 있는 Ubuntu 서버) 서비스가 실행 중인 것으로 보이지만 아직 터널이 설정되지 않았습니다.
내 거parking-tunnels.service
[Unit]
Description=Parking Tunnels
After=network.target
[Service]
Type=simple
Restart=always
RestartSec=15
ExecStart=/usr/bin/ssh -N -vvv -i /home/some-user/.ssh/mykey -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -R 8001:127.0.0.1:80 [email protected]
User=some-user
Group=some-group
StandardInput=tty-force
[Install]
WantedBy=multi-user.target
journalctl -u parking-tunnels.service
Apr 21 18:05:06 dcs2 systemd[1]: Stopping Parking Tunnels...
Apr 21 18:05:06 dcs2 systemd[1]: parking-tunnels.service: Succeeded.
Apr 21 18:05:06 dcs2 systemd[1]: Stopped Parking Tunnels.
Apr 21 18:05:06 dcs2 systemd[1]: Started Parking Tunnels.
Apr 21 18:06:13 dcs2 systemd[1]: Stopping Parking Tunnels...
Apr 21 18:06:13 dcs2 systemd[1]: parking-tunnels.service: Succeeded.
Apr 21 18:06:13 dcs2 systemd[1]: Stopped Parking Tunnels.
Apr 21 18:06:13 dcs2 systemd[1]: Started Parking Tunnels.
- 나는 또한 ssh 옵션을 사용하거나 사용하지 않고
User=
시도 했습니다 .Group=
-f
-t
-T
-g
- 이것이 필요하다는 것을 알았습니다.
StandardInput=tty-force
그렇지 않으면 서비스가 시작되지 않습니다. - 그것도 시도했지만
ssh -f
서비스Type=forking
가 로드되지 않습니다. - 나는 달리는 것을 잊지 않았다
sudo systemctl daemon-reload
- 클라우드
GatewayPorts yes
서버에 방화벽이 있지만 이 문제가 해결될 때까지 비활성화했습니다. - 이미 키를 공유했기 때문에 클라우드 서버에 SSH를 연결하는 데 자격 증명이 필요하지 않습니다. 수동실행 비밀번호를 물어볼 때 서비스에 문제가 있는지는 모르겠습니다.
서비스가 실행되면 보이는데 ps aux | grep ssh
아직 터널이 구축되지 않은 상태입니다. ps의 복사/붙여넣기 명령도 성공적으로 실행됩니다.
서비스로 실행할 때 무엇이 잘못되나요?
고쳐 쓰다
StandardInput=tty-force
모든 로그는 다른 tty에서 전송되므로 ssh -vvv
로그가 표시되지 않습니다.
꼭 ssh -N
필요합니다.
클라이언트(내 로컬 컴퓨터)의 방화벽이 활성화되어 있기 때문에 터널을 확인할 수 있습니다.
이 게시물에 대해 죄송합니다. 모두의 도움에 감사드립니다.