arka planda autossh çalışmıyor


12

Autossh ile bir tünel kurdum.

Bu çalışıyor:

autossh -M 33201 -N -i myIdFile -R 33101:localhost:22 autossh@myhost.com

Arka planda autossh çalıştırmak istiyorum. -fSeçeneği kullanarak kolay görünüyor .

Ancak bu çalışmaz:

autossh -f -M 33201 -N -i myIdFile -R 33101:localhost:22 autossh@myhost.com

Autossh arka planda çalışır, ancak ssh bağlantısı her seferinde başarısız olur. / Var / syslog içinde aşağıdakilerin birden çok oluşumunu görüyorum:

autossh[3420]: ssh exited with error status 255; restarting ssh

Neyi yanlış yapıyorum? Vahşi bir tahmin, anahtar dosya yoluyla kimlik doğrulamasıyla ilgili bir şey var. Bu hata ayıklama nasıl (ssh seçeneklerine -v eklenmesi hiçbir yerde günlüğe görünmüyor).

Düzenleme: -y seçeneğini kullanarak bazı ssh günlükleri var

/usr/bin/ssh[3484]: debug1: Next authentication method: publickey
/usr/bin/ssh[3484]: debug1: Trying private key: /home/myuser/.ssh/id_rsa
/usr/bin/ssh[3484]: debug1: Trying private key: /home/myuser/.ssh/id_dsa
/usr/bin/ssh[3484]: debug1: Trying private key: /home/myuser/.ssh/id_ecdsa
/usr/bin/ssh[3484]: debug1: No more authentication methods to try.
/usr/bin/ssh[3484]: fatal: Permission denied (publickey).
autossh[3469]: ssh exited with error status 255; restarting ssh

Bu yüzden autossh -i myIdFile, -f seçeneğini kullanırken kimlik dosyamı ( ) kabul etmiyor gibi görünüyor . Neden?

(Raspian üzerinde autossh 1.4c)


Neden autossh kullanıyorsunuz? Systemd komutunu "başarısızlık durumunda yeniden başlat" için kullanabilirsiniz. Çözümümle bir gist
guettli

Yanıtlar:


29

Autossh arka plana düştüğünde (-f seçeneği) çalışma dizinini değiştiriyor gibi görünüyor, yani göreceli yollar artık çalışmıyor. Veya daha spesifik: Kimlik dosyanızın mutlak yolunu girerek başarılı olursunuz.

Varsayılan olmayan bir konumda parolasız bir anahtar oluşturarak senaryoyu yeniden oluşturdum:

~/$ mkdir test
~/$ cd test
~/test$ ssh-keygen -f test_id_rsa

Parola ile korunmayan bir anahtar oluşturmak için iki kez enter tuşuna bastım.

Yeni anahtarı sunucuma kopyaladım (şu anda şifre kimlik doğrulamasına izin veriyor):

~/test$ ssh-copy-id -i test_id_rsa user@server

Önce anahtarın düzenli ssh ile çalıştığını, sonra sizin gibi autossh kullandığını doğruladım:

~/test$ ssh -i test_id_rsa user@server
~/test$ autossh -M 13000 -N -i test_id_rsa user@server
^C

İkisi de iyi çalıştı, bu yüzden yaşadığınız sorunu yeniden yarattım:

~/test$ autossh -f -M 13000 -N -i test_id_rsa user@server

Bu işe yaramadı ve aşağıdakilere yazılmıştır /var/log/syslog:

autossh [2406]: ssh, 255 durumu ile erken çıkmıştır; otomatik çıkış

Anahtar dosyasının yolunu mutlak olarak değiştirerek, yine de çalıştı:

~/test$ autossh -f -M 13000 -N -i /home/user/test/test_id_rsa user@server

Konumunda hata yok /var/log/syslog.


harika, bu işe yarıyor.
henning77

Günümü kurtardın!
arno_v

2
-N seçeneği önemlidir, aksi halde "ssh 0 durumu ile çıkılır; autossh çıkılır". Teşekkürler!
user30747

Onaylandı, ben de sadece "id_rsa" dosyasının yolunu şu şekilde eklemek zorunda kaldım: autossh -M 19001 -fN -y -i /home/pi/.ssh/id_rsa (teşekkürler @jmidgren)
Zengin

4

-F ile neler olup bittiğinden emin değilsiniz ama aynı zamanda nohup da yapabilirsiniz:

nohup autossh -M 33201 -N -f -i myIdFile -R 33101:localhost:22 autossh@myhost.com &

anahtar dosyasını belirtmeden bile nohup benim için çalışıyor.
valadil

nohupAyrıca çalıştırmak için çalıştı autosshaltında runitAlpine Linux
Stuart Cardall

0

"Bağlanmaya devam etmek istediğinizden emin misiniz (evet / hayır)?" Seçeneğini atlamak için SSH'ye aşağıdaki parametreleri ekleyin:

-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no

Son komut aşağıdaki biçimde olacaktır:

autossh -f -M $BASE_PORT -N -R $LOCAL_PORT:$LOCALHOST:$REMOTE_PORT $USER@$SERVER -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no

benim için çalışıyor.
bluebird_lboro

StrictHostKeyChecking=noBilinen iyi bir geçici oyuncağa bağlanmadıkça ve tembel olmayı seçmedikçe etkinleştirmeyin .
Dolph
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.