पृष्ठभूमि में स्वतः काम नहीं करता है


12

मैंने आटोशा के माध्यम से एक सुरंग स्थापित की है।

यह काम:

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

मैं बैकग्राउंड में ऑटोशो चलाना चाहूंगा। -fविकल्प का उपयोग करके आसान लगता है ।

हालांकि यह काम नहीं करता है:

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

ऑटोसॉब पृष्ठभूमि में ठीक चलता है, लेकिन हर बार ssh कनेक्शन विफल होता है। / Var / syslog में मुझे कई घटनाएं दिखाई देती हैं:

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

मैं क्या गलत कर रहा हूं? एक जंगली अनुमान है कि यह कुंजी फ़ाइल के माध्यम से प्रमाणीकरण के साथ कुछ करना है। मैं इसे कैसे डीबग कर सकता हूं (ssh विकल्पों में -v को कहीं भी लॉग इन नहीं लगता है)।

संपादित करें: मुझे -y विकल्प का उपयोग करके कुछ ssh लॉग मिला है

/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

तो ऐसा लगता है कि ऑटो -i myIdFileविकल्प का उपयोग करते समय ऑटोसह मेरी पहचान फ़ाइल ( ) को स्वीकार नहीं करता है । ऐसा क्यों है?

(रास्पियन पर ऑटोश 1.4c)


ऑटोशॉट का उपयोग क्यों करें? आप "विफलता सामान पर पुनरारंभ करें" के लिए सिस्टमड का उपयोग कर सकते हैं। मैंने अपने समाधान के साथ एक जिस्ट
guettli

जवाबों:


29

ऐसा लगता है कि जब ऑटोशॉट पृष्ठभूमि (-f विकल्प) पर गिरता है, तो यह कार्यशील निर्देशिका को बदल रहा है, जिसका अर्थ है कि रिश्तेदार पथ अब काम नहीं करते हैं। या अधिक विशिष्ट: अपनी आईडी फ़ाइल के पूर्ण पथ में प्रवेश करके आप संभवतः सफल होंगे।

मैंने बिना किसी डिफ़ॉल्ट स्थान पर पासवर्ड के साथ एक कुंजी बनाकर परिदृश्य को फिर से बनाया:

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

मैं बस एक कुंजी बनाने के लिए दो बार दर्ज करता हूं जो एक पासवर्ड द्वारा संरक्षित नहीं है।

मैंने अपने सर्वर के लिए नई कुंजी की प्रतिलिपि बनाई (जो वर्तमान में पासवर्ड प्रमाणीकरण की अनुमति देता है):

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

पहले मैंने पुष्टि की कि चाबी नियमित ssh के साथ काम कर रही थी, फिर आप जैसे ऑटोस का उपयोग करके:

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

वे दोनों ठीक काम करते थे, इसलिए मैंने आपके पास मौजूद समस्या को फिर से बनाया:

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

यह काम नहीं किया और निम्नलिखित को लिखा गया था /var/log/syslog:

autossh [2406]: ssh समय से पहले बाहर निकल गया स्थिति 255 के साथ; स्वत: बाहर निकलने

कीफाइल के पथ को निरपेक्ष बनाकर, इसने काम किया:

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

में कोई त्रुटि नहीं /var/log/syslog


कमाल है, यह काम करता है।
हेनिंग77

आपने मेरा दिन बचाया!
अरुण_व

2
-N विकल्प महत्वपूर्ण है, अन्यथा आपको "स्टेटस 0 के साथ बाहर निकलना होगा; ऑटोसह एक्साइटिंग"। धन्यवाद!
user30747

पुष्टि की गई है, मुझे भी बस "id_rsa" फ़ाइल में रास्ता जोड़ना था: autossh -M 19001 -fN -y -i /home/pi/.ssh/id_rsa (धन्यवाद @jidgrgren)
रिच

4

निश्चित नहीं है कि -f के साथ क्या हो रहा है, लेकिन आप इसे भी रोक सकते हैं:

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

nohup मेरे लिए काम करता है, यहां तक ​​कि प्रमुख फ़ाइल को निर्दिष्ट किए बिना।
वलदिल

nohupअल्पाइन लिनक्स के autosshतहत चलने के लिए भी काम कियाrunit
स्टुअर्ट कार्डल

0

SSH को बायपास करने के लिए निम्नलिखित पैरामीटर जोड़ें "क्या आप वाकई कनेक्ट करना जारी रखना चाहते हैं (हां / नहीं)?"

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

अंतिम कमांड निम्नलिखित प्रारूप में होगी:

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

इससे मेरा काम बनता है।
Bluebird_lboro

StrictHostKeyChecking=noतब तक सक्षम न करें जब तक कि आप एक ज्ञात-अच्छे अल्पकालिक खिलौने से कनेक्ट न हों - और आप आलसी होना पसंद कर रहे हैं।
डॉल्फ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.