सामान्य तौर पर मैं दूरस्थ कंप्यूटर पर रियलटाइम ऑडियो सुन सकता था जैसे:
ssh me@gate rec -t mp3 - | play -
उदाहरण के लिए कंप्यूटर पर gateमैं कमांड rec(या sox) को निष्पादित कर सकता हूं और ऑडियो-स्ट्रीम नेटवर्क पर स्थानांतरित किया जाता है, इसलिए मैं इसे play(या sox) कमांड के माध्यम से वास्तविक समय में फिर से चला सकता हूं ।
यह ठीक काम करता है, खासकर क्योंकि मेरे पास gateमेरी नोटबुक से पासवर्ड-कम पहुंच है (उपयोग करते हुए authorized_keys & authorized_keys2)।
लेकिन मेरी टोपोलॉजी है:
+----+ internet +------+ lan +----------+
| my | ----------> | gate | -----> | internal |
+----+ +------+ +----------+
और मुझे COMP recमें निष्पादित करने की आवश्यकता है internalऔर इसे कंप्यूटर में कमांड पर stdoutपाइप किया जाना चाहिए ।playmy
तो, जब मैं कैस्केडिंग (घोंसला बनाना) कर रहा हूँ sshजैसे:
ssh -t me@gate ssh me@internal rec -t mp3 -
(नोट के -tलिए ssh)
- इसलिए,
gateपासवर्ड एक्सेस-कम है - पर
gateनिष्पादित किया जाता है दूसरा (नेस्टेड)ssh - तो
internalमुझसे पासवर्ड के लिए पूछता है (-t) - और जब मैं पासवर्ड दर्ज करता हूं, तो
internalसही ढंग सेrecकमांड शुरू होता है - और मैं अपने स्थानीय टर्मिनल पर प्राप्त बाइनरी डेटा-कचरा देख सकता था।
दुर्भाग्य से, यह काम नहीं करता है जब मैं पाइप करने की कोशिश कर रहा हूं play, जैसे कि यह
ssh -t me@gate ssh me@internal rec -t mp3 - | play -
काम नहीं करता है, क्योंकि Password:स्ट्रिंग पुनर्निर्देशित हो गया (जैसे मैंने पासवर्ड के लिए संकेत नहीं दिया), और playभ्रमित हो गया।
me@gate-> के बीच पासवर्ड-कम पहुंच स्थापित करने से me@internalशायद समस्या का समाधान हो सकता है, लेकिन मैं यह नहीं चाहता हूं - मैं चाहता हूं कि मैं पासवर्ड को internalCOMP में दर्ज करूं ।
कुछ पता है इसे कैसे हल करना है?
-tएक पासवर्ड ... नहीं मांगता है " अक्षम छद्म टर्मिनल आवंटन। "