Kısacası, bilgisayarım her önyüklendiğinde, bağlantı koparsa sunucuya yeniden bağlanacak bir ssh bağlantı noktası yönlendirme bağlantısı başlatmak istiyorum. Bilgisayar Debian Wheezy x64.
İlk ve başarılı bir bağlantı şu şekilde yapılabilir:
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
Bu başlangıçta çalışmak için nasıl yapılabilir? (tercihen kullanıcı tarafından, kök değil). Şu anda programları açılışta nasıl başlattığım şu şekilde:
rc.local başlangıç betiğimi şöyle çağırır:
su -c "/home/username/scripts/startup" username
Şu anda, / home / username / scripts / startup aşağıdakileri içerir:
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
Önyüklendikten sonra, üç program da çalışıyor gibi görünüyor (liste ekranına göre -ls) Program1 veya program 2 ile ilgili bir sorun yok. Ancak, autossh aslında portu iletmiyor.
Benim tarafımdan yapılan başarılı bir bağlantı ile başlangıçta yapılan başarısız bir bağlantı arasındaki fark, başarılı bir bağlantının şu çizgiye sahip olmasıdır:
debug1: channel 4: free: direct-tcpip: listening port 8082 for 192.168.1.104 port 80, connect from ::1 port 59681,
nchannels 5
Başarısız olan bağlantı böyle denemeye devam ederken:
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]
Neyin yanlış olduğuyla ilgili bir fikriniz var mı? Neden bir programı el ile çalıştırdığımda, ancak başlangıç komut dosyamın içinde olmadığımda iyi çalışıyor?