AutoSSH는 시작 후 호스트 이름을 직접 확인할 수 없습니다.

AutoSSH는 시작 후 호스트 이름을 직접 확인할 수 없습니다.

내 컴퓨터가 부팅되자마자 설정될 홈 서버에 대한 터널을 설정하고 싶습니다. 사용이 답변, 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_configssh

ssh이 오류로 인해 기본 세션이 중단된 것 같습니다 . 이 블록은 autossh내 서버에 다시 연결을 시도합니다. 구성을 이렇게 변경하면 autossh이제 해당 오류가 발생했을 때 연결을 다시 시도하게 됩니다.ssh

systemctl statusautossh이제 여러 번의 연결 시도로 인해 다음과 같은 오류가 발생합니다.

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

관련 정보