Otomatik yeniden bağlanma ile SSH bağlantı noktası iletme, başlangıçta komut dosyası çalıştırma


4

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?


Üzgünüz - tam bir cevap için vaktiniz yok, ama: harding.motd.ca/autossh Yol boyunca sana yardım etmeliyim.
FreudianSlip

Yanıtlar:


3

Programı kontrol et autossh otomatik yeniden bağlantı için. Bu komutlar için her zaman harici komutları ve bayrakları belirlediğiniz için ekran karışık olmaz sonra ekrana özel bayraklar.


Autossh gayet iyi çalışıyor, teşekkür ederim. Önyüklemeye başlamakta zorlanıyorum. Başlangıç ​​betiğimi her şey için kullanmayı seviyorum (ve şimdiye dek her şeyi baştan başladım. Ancak, autossh için çalışmıyor. Sorumu yukarıda düzenledim, lütfen bir göz atın.
Oddworld

1
Beni autossh'a yönlendirdiğin için teşekkürler, bu harika! Şimdi, tek sorunum başlangıçta çalışmasını sağlamak. Bazı garip nedenlerden dolayı, elle çalıştırdığımda iyi çalışıyor gibi görünüyor, ancak başlangıç ​​komut dosyasımda değil. garip
Oddworld
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.