मैं एक डबल हॉप एसएसएच कर रहा हूं, जो पहले एक सर्वर में मिलता है, जिसमें एक सार्वजनिक आईपी पता होता है और एसएसएच पोर्ट खुला होता है, फिर अगले कंप्यूटर में एसएसएचिंग होता है, जबकि मेरे स्थानीय वीएनसी पोर्ट को रिमोट सिस्टम पोर्ट से जोड़ता है। चित्र में:
[मेरा लोकल सिस्टम] --- एसएसएच टनल (पोर्ट ५ ९ ०० फॉरवर्ड) -> [सर्वर] - एसएसएच टनल (पोर्ट ५ ९ ०० फॉरवर्ड) -> [रिमोट सिस्टम]
मैंने यह सब करने के लिए एक एकल स्ट्रिंग कमांड बनाया है, लेकिन एक पकड़ है। x11VNC एक अयोग्य राशि को दुर्घटनाग्रस्त करता प्रतीत होता है। वस्तुतः मेरे सिस्टम के फिर से जमने से पहले मुझे 10 मिनट का काम मिल सकता है और मुझे x11vnc को फिर से शुरू करना होगा। लेकिन यह ऐसा सवाल नहीं है।
मैं जिस कमांड का उपयोग कर रहा हूं वह इस प्रकार है:
ssh -L 5900:[REMOTE SYSTEM IP]:5900 user@FQDN.SERVER.NET 'ssh [REMOTE SYSTEM IP] 'pkill x11vnc; x11vnc --ncache 10''
अब मैंने इसमें PKILL कमांड को शामिल किया है, इसलिए यह जमे हुए x11vnc उदाहरण को हटा देगा जो अभी भी चल रहा है इसलिए मैं पोर्ट 5900 को मुक्त कर सकता हूं (और मेरे सिस्टम को अनुमति देने वाली ज़ोंबी प्रक्रिया नहीं है): हालांकि यह काम नहीं करता है। कोई फर्क नहीं पड़ता कि मैं क्या करता हूं, अगर इसकी दोहरी उम्मीद है, तो यह सिर्फ x11vnc देता है , कमांड नहीं मिला
नोट : यदि मैं pkill निकालता हूं, तो यह कमांड स्ट्रिंग पूरी तरह से काम करता है। लेकिन मुझे ज़ोंबी को मारने की जरूरत है
यदि सर्वर से लेकिन मैं कमांड चलाने की कोशिश करता हूं:
ssh [REMOTE SYSTEM IP] 'pkill x11vnc; x11vnc --ncache 10'
यह ठीक काम करता है! क्या किसी को पता है कि "डबल हॉप" ssh कनेक्शन करते समय यह अभ्यस्त काम क्यों करता है?