역방향 SSH 연결을 자동으로 다시 연결

역방향 SSH 연결을 자동으로 다시 연결

나는 뛰고있어:

ssh -N -R 2222:localhost:22 [email protected]

이것은 작동하지만 언제든지 내 파이에 액세스할 수 있도록 이 연결을 열어두고 싶습니다. 하루 이틀 기다려서 시도해봐도 연결이 안되네요. 파이에서 tmux 세션을 확인하면 다음과 같이 표시됩니다.

쓰기 실패: 깨진 파이프

자동으로 다시 연결되도록 스크립트를 어떻게 설정합니까?

답변1

지금 이 서비스를 찾고 있는 사람이라면 systemd 서비스가 autossh(Debian 10.4 실행)보다 더 안정적이라고 생각합니다. 내 경우에는 며칠 후에 autossh가 종종 실패했으며 systemd 솔루션은 문제 없이 몇 주/개월 동안 실행되었습니다.

/etc/systemd/system/ssh_remote_access.service의 내용:

[Unit]
Description=SSH reverse tunnel
After=network.target

[Service]
User=PUT_YOUR_LINUX_USER_NAME_HERE
Restart=always
RestartSec=20
ExecStart=/usr/bin/ssh -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -o "ExitOnForwardFailure yes" -N -R 2222:localhost:22 [email protected]

[Install]
WantedBy=multi-user.target

그런 다음 서비스를 활성화합니다.

sudo systemctl daemon-reload
sudo systemctl enable ssh_remote_access
sudo systemctl start ssh_remote_access

관련 정보