내 컴퓨터가 부팅되자마자 설정될 홈 서버에 대한 터널을 설정하고 싶습니다. 사용이 답변, autossh
시작 시 실행되도록 설정된 서비스에 명령을 설정했습니다. 나는 터널이 인터넷을 통해 작동하고 이를 수용할 수 있는 동적 DNS 서비스를 갖기를 원합니다.
서비스를 수동으로 실행하면 터널이 성공적으로 연결됩니다. 이 문제는 서비스 시작 후 자동으로 시작될 때 발생합니다. 서비스는 정상적으로 시작되지만 호스트 이름을 확인할 수 없어 서버에 대한 연결이 설정되지 않습니다.
ssh child pid is 1413
ssh: Could not resolve hostname my.host.name: Temporary failure in name resolution
ssh exited with error status 255; restarting ssh
내 서비스 파일은 다음과 같습니다.
[Unit]
Description=Creates tunnel to server
After=network.target
[Service]
User=james
Environment="AUTOSSH_GATETIME=0"
ExecStart=/usr/bin/autossh -M 0 -o "StrictHostKeyChecking=no" -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -NR 3030:localhost:22 [email protected]
[Install]
WantedBy=multi-user.target
이 문제를 해결할 방법이 있나요?
답변1
죄송합니다. 제가 인식하지 못한 버그가 있는 것으로 나타났습니다.
Error: remote port forwarding failed for listen port 3030
오류 다음에 오류가 표시됩니다 could not resolve hostname
.
오류의 원인 이 무엇인지 ExitOnForwardFailure yes
잘 모르겠지만 ./etc/ssh/ssh_config
ssh
ssh
이 오류로 인해 기본 세션이 중단된 것 같습니다 . 이 블록은 autossh
내 서버에 다시 연결을 시도합니다. 구성을 이렇게 변경하면 autossh
이제 해당 오류가 발생했을 때 연결을 다시 시도하게 됩니다.ssh
systemctl status
autossh
이제 여러 번의 연결 시도로 인해 다음과 같은 오류가 발생합니다.
starting ssh (count 16)
ssh child pid is 2463
Error: remote port forwarding failed for listen port 3030
ssh exited with error status 255; restarting ssh
starting ssh (count 17)
ssh child pid is 2473
Error: remote port forwarding failed for listen port 3030
ssh exited with error status 255; restarting ssh
starting ssh (count 18)
ssh child pid is 2481
이전에는 이러한 오류 중 하나만 표시한 다음 autossh
중단되었습니다.
질문에 포함된 오류가 계속 발생하지만 서비스가 처음 실행될 때 네트워크 연결이 제대로 설정되지 않았을 수 있으므로 걱정할 필요는 없다고 생각합니다.
답변2
바꾸다
After=network.target
그리고
After=network-online.target