
リモート/リバーストンネルを設定し、正常にアクセス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
必要です。
クライアント(マイローカルコンピュータ)のファイアウォールが有効になっているため、トンネルを確認できます。
この投稿について申し訳ありません。 みんなの助けに感謝します。