जब एक खोल में प्रवेश करने, दूरस्थ होस्ट मानता है कि कनेक्शन एक मानव उपयोगकर्ता द्वारा किया जाता है। इसलिए, यह अपेक्षा करना उचित है कि ग्राहक पर में मानक पर उनका नियंत्रण है। यही कहना है कि उपयोगकर्ता कुंजीपटल के माध्यम से टर्मिनल पर इनपुट दे रहा है। यदि रिमोट होस्ट यह पता लगाता है कि उपयोगकर्ता मानव नहीं है (क्योंकि इनपुट टर्मिनल नहीं है - लेकिन एक और प्रक्रिया है), तो यह उपयोगकर्ता को इस अप्रत्याशित स्थिति के बारे में चेतावनी दे सकता है।
पर चर्चा दुर्व्यवहार और यह कैसे से बचने के (man ssh
और एक अधिक विस्तृत विवरण के लिए आयकर के लिए देखो) के एक प्रदर्शन।
$ ssh -t genja.org 'ssh raptor.lan hostname\; uptime'
host: genja.lan
raptor
21:17:27 up 3 days, 15 min, 1 user, load average: 0.00, 0.00, 0.00
Connection to genja.org closed.
$ ssh genja.org uptime
host: genja.lan
21:17:43 up 12 days, 17:40, 1 user, load average: 0.30, 0.08, 0.02
... और त्रुटि: फिर
ssh -L 4444:raptor.lan:22 genja.org
, एक अलग टर्मिनल पर:
$ ssh genja.org 'ssh raptor.lan hostname\; uptime'
host: genja.lan
Permission denied (publickey,keyboard-interactive).
आप इसके बजाय किसी सुरंग बनाने के लिए चाहते हो सकता है
ssh -p 4444 localhost will give you a conenction straight to "raptor.lan"
आईपी पते का उपयोग करें जैसे कि 192.168.0.11 यदि DNS उपनाम रिमोट एंड पर कॉन्फ़िगर नहीं हैं।
स्रोत
2012-09-21 19:20:40
पहले 'ssh' में '-t' ध्वज जोड़ने का प्रयास करें। वैसे, चूंकि आपका प्रश्न प्रोग्रामिंग से संबंधित नहीं है, इसलिए यह http://superuser.com/ – aland
@aland पर अधिक उपयुक्त हो सकता है आपके पास कारण है। साथ-साथ विकल्प चलाएं। – Jhonathan