자동 재 연결 기능을 갖춘 SSH 포트 포워딩, 시작시 스크립트 실행


4

즉, 컴퓨터가 부팅 할 때마다 연결이 끊어지면 서버와 다시 연결하는 ssh 포트 전달 연결을 시작하려고합니다. 컴퓨터는 데비안 Wheezy x64입니다.

초기 및 성공적인 연결은 다음과 같이 할 수 있습니다.

screen -dmS autossh autossh -M 29000 -N -v -p 22 -l user -i /path/to/.ssh/id_rsa -L port:my-computer:port my-server.com

시작할 때 실행하려면 어떻게해야합니까? (root가 아닌 사용자가 선호). 현재 부트시 프로그램을 시작하는 방법은 다음과 같습니다.

rc.local은 다음과 같이 시작 스크립트를 호출합니다.

su -c "/home/username/scripts/startup" username

현재 / home / username / scripts / startup에는 다음이 포함되어 있습니다.

screen -dmS program1 python my-python-program
screen -dmS program2 python my-python-program2
screen -dmS autossh autossh -M 29000 -N -v -p 22 -l user -i /path/to/.ssh/id_rsa -L port:my-computer:port my-server.com

부팅이 완료되면 세 개의 프로그램이 모두 실행중인 것처럼 보입니다 (목록 화면 -ls). program1 또는 program 2에는 문제가 없습니다. 그러나 autossh는 실제로 포트를 전달하지 않습니다.

나에게 성공한 연결이 성공하는 것과 시작시 실패한 연결이 실행되는 것의 차이점은 성공적인 연결에는 다음과 같은 줄이 있다는 것입니다.

debug1: channel 4: free: direct-tcpip: listening port 8082 for 192.168.1.104 port 80, connect from ::1 port 59681, 
nchannels 5

실패한 연결은 다음과 같이 계속 시도합니다.

debug1: Connection to port 8082 forwarding to 192.168.1.104 port 80 requested.
debug1: channel 4: new [direct-tcpip]
debug1: Connection to port 8082 forwarding to 192.168.1.104 port 80 requested.
debug1: channel 5: new [direct-tcpip]
debug1: Connection to port 8082 forwarding to 192.168.1.104 port 80 requested.
debug1: channel 6: new [direct-tcpip]
debug1: Connection to port 8082 forwarding to 192.168.1.104 port 80 requested.
debug1: channel 7: new [direct-tcpip]
debug1: Connection to port 8082 forwarding to 192.168.1.104 port 80 requested.
debug1: channel 8: new [direct-tcpip]

어떤 생각이 잘못 됐습니까? 수동으로 실행할 때 프로그램이 제대로 작동하지만 시작 스크립트에서는 실행되지 않는 이유는 무엇입니까?


죄송합니다 - 전체 답변을 드릴 시간이 없지만 : harding.motd.ca/autossh 길을 따라 당신을 도울 것입니다.
FreudianSlip

답변:


3

프로그램 체크 아웃 오토 슈 자동 재접속을위한. 화면에 명령에 대한 외부 명령과 플래그를 지정하기 때문에 화면이 엉망이되지 않습니다. 화면 특정 플래그.


Autossh는 잘 작동합니다. 감사합니다. 부팅하는 데 어려움을 겪고 있습니다. 나는 모든 것을 위해 나의 시작 스크립트를 사용하고 싶다. (그리고 지금까지는 다른 모든 것을 시작했다.) 그러나 autossh에서는 작동하지 않습니다. 위 질문에 대한 편집을 마쳤습니다.
Oddworld

1
저를 autossh로 가리켜 주셔서 감사합니다. 자, 내 유일한 문제는 시작할 때 실행되도록하는 것입니다. 어떤 이상한 이유 때문에, 내가 손으로 그것을 실행할 때 잘 작동하는 것처럼 보이지만 시작 스크립트에서는 그렇지 않습니다. 이상한
Oddworld
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.