autossh는 백그라운드에서 실행되지 않습니다.

autossh는 백그라운드에서 실행되지 않습니다.

부팅 시 실행되도록 autossh를 설정하고 /etc/rc.local에 추가하려고 시도했지만 백그라운드에서 실행할 수도 없습니다.

이것은 내 구성 파일의 핵심 부분입니다.

Host remotehost.com
  LocalForward 127.0.0.1:8082 127.0.0.1:8082
  LocalForward 127.0.0.1:8000 127.0.0.1:80
  LocalForward 127.0.0.1:10001 127.0.0.1:10001
  LocalForward 127.0.0.1:12001 127.0.0.1:12001
  Port 9922

이 명령의 작동 방식:

autossh -F /home/[username]/.ssh/config -i /home/[username]/.ssh/id_rsa remotehost.com

그러나 -f 옵션을 추가하면

autossh -f -F /home/[username]/.ssh/config -i /home/[username]/.ssh/id_rsa remotehost.com

하지 않을 것이다.

보시다시피 저는 절대 경로만 사용하고 있으므로 그렇게 해서는 안 됩니다.이 문제.

내 로그에 다음과 같이 적혀 있습니다.

2014/04/22 12:09:07 autossh[4367]: checking for grace period, tries = 0
2014/04/22 12:09:07 autossh[4367]: starting ssh (count 1)
2014/04/22 12:09:07 autossh[4367]: ssh child pid is 4368
2014/04/22 12:09:07 autossh[4367]: check on child 4368
2014/04/22 12:09:07 autossh[4367]: set alarm for 600 secs
2014/04/22 12:09:07 autossh[4368]: execing /usr/bin/ssh
2014/04/22 12:09:07 autossh[4367]: check on child 4368
2014/04/22 12:09:07 autossh[4367]: ssh exited with status 0; autossh exiting
2014/04/22 12:09:07 autossh[4367]: expired child, returning 2

답변1

오. 바보 같은 나. 이 내용은 설명서에 나와 있지만 놓쳤습니다. - 스위치를 추가해야 합니다 -N. 이것이 내가 rc.local에 넣은 것이고 작동합니다:

su [username] -c 'autossh -f -N -F /home/[username]/.ssh/config_tunnels -i /home/[username]/.ssh/id_rsa remotehost.com

[username]물론 내 사용자 이름으로 교환되었습니다.

관련 정보