내 Digitalocean VPC에 대한 역방향 SSH 연결을 만드는 NAT 뒤에 PC가 있습니다. 나는 집 에서이 역 SSH 연결을 사용하여 내 사무실 PC에 로그인하고 (권한을 부여 받았습니다) 파일을 복사하고 다른 중요한 일을합니다.
자주는 아니지만, 전원 장애 등으로 인해 내 사무실 PC가 다시 시작되고 내 VPC와의 역방향 SSH 연결이 끊어졌습니다. 이런 종류의 경우, 가정용 PC에서 내 사무실 PC로 연결할 수 없습니다.
다음 스크립트를 실행하여 사무실 PC에서 생성 된 트래픽을 탐색하기 위해 역방향 연결 + 동적 프록시를 만듭니다 (탐색 정보를 공유 할 필요가 없으므로).
autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC
물리적으로 있지 않기 때문에 컴퓨터를 다시 시작하면 사무실 PC에서 다시 스크립트를 실행할 수있는 방법이 없습니다. 이 문제를 해결하기 위해 다음 crontab을 설치했습니다.
참고 : rev.sh
파일에는 위의 줄이 포함되어 있습니다. "digitalOcean"및 rev.sh 인증서는에 있습니다 Ubuntu home
. 따라서 ./rev.sh
우분투 터미널에서 실행할 때 동적 프록시를 얻거나 ym DigitalOcean 서버에 액세스합니다. 이 방법은 100 % 작동합니다.
그러나 다음 방법으로 chrontab을 설치할 때 내 우분투 PC는 동적 프록시를 만들지 않습니다. Chrome에서이 프록시를 확인할 때 프록시가 연결을 거부하고 있기 때문에이 메시지를 볼 수 있습니다.
루트 크론 작업으로 시도한 크론 작업은 다음과 같습니다. 나는 또한 일반 사용자로 시도했지만 여전히 작동하지 않았습니다.
@reboot bash /home/user/rev.sh
@reboot /home/user/rev.sh
@reboot cd /home/user && ./rev.sh
그런 다음 현재 시간 몇 분 전에 크로노 탭을 설치하고 실행되기를 기다렸습니다.
24 12 8 * * * bash /home/user/rev.sh
24 12 8 * * * /home/user/rev.sh
이것들도 실행되지 않았습니다.
내 실수를 발견 할 수있을 정도로 친절하십시오. 이 웹 사이트에는 비슷한 문제가 많이 있습니다. 나는 많은 답변을 언급했지만 그들 중 누구도 도움이되지 않는 것 같습니다.
/var/log/cron*
. 테스트 목적으로 간단히 다음과 같이 작성할 수*/2 * * * * /path/to/script
있습니다. 2 분마다 스크립트를 실행합니다. cron을 실행하는 사용자의 메일도 확인하십시오. 루트입니까?mail
명령을 사용하십시오 . 오, 당신이 ssh 키를 사용하고 있음을 알 수 있습니까?-i
스위치 후 전체 경로를 제공하지 않으면 cron 작업이 찾을 수 없을 것 입니다.