Ssh দূরবর্তী সিস্টেমে প্রথম অ্যাক্সেসের জন্য একটি কন্ট্রোলমাস্টার ব্যাকগ্রাউন্ড প্রক্রিয়া স্বয়ংক্রিয়ভাবে স্প্যান করে


9

ইদানীং আমি প্রায়শই এসএসএইচ ক্লায়েন্টের কন্ট্রোলমাস্টার বৈশিষ্ট্যটি ব্যবহার করি যা আমাকে একই দূরবর্তী সিস্টেমে একাধিক শেল এবং পোর্ট ফরওয়ার্ডিংয়ের জন্য একটি একক এসএসএইচ-টিসিপি-সংযোগ ব্যবহার করতে দেয়। এটি সম্পর্কে সবচেয়ে বিরক্তিকর বিষয় হ'ল যে প্রথম শেলের প্রক্রিয়াটি খোলা হয় তা স্বয়ংক্রিয়ভাবে কন্ট্রোলমাস্টারে পরিণত হয়। এর অর্থ, যদি এই প্রক্রিয়াটি সমাপ্ত হয়, তবে নিয়ন্ত্রণ মাস্টার সংযোগ ব্যবহার করে অন্য সমস্ত শেল এবং পোর্ট ফরওয়ার্ডিং অনুপলব্ধ হয়ে যায়।

আমি সত্যিই চাই যখন রিমোট সিস্টেমে প্রথম ssh কমান্ড একটি অতিরিক্ত ব্যাকগ্রাউন্ড প্রক্রিয়া উত্থাপন করবে যা কন্ট্রোলমাস্টার সংযোগটি ব্যবহার করার পরেও সংযোগ রাখে, সুতরাং আমি অন্যান্য প্রকট শঙ্কার ঝুঁকির মধ্যে থাকা প্রকৃত শেলগুলি কেবল বন্ধ করে দিতে পারি I সংযোগ। আদর্শভাবে ব্যাকগ্রাউন্ড কন্ট্রোলমাস্টার প্রক্রিয়াটি শেষ পর্যন্ত বন্ধ হওয়ার আগে কন্ট্রোলমাস্টারটি ব্যবহার করার জন্য নতুন শেল বা পোর্ট ফরওয়ার্ডিংয়ের জন্য অনেক সময় অপেক্ষা করতে সক্ষম হয়।

Ssh ক্লায়েন্টকে এমন কাজ করার কোনও উপায় আছে কি? আমি জানি আমি প্রথম শেলটি তৈরির জন্য ssh ব্যবহার করার আগে আমি নিজেই এই জাতীয় সংযোগ তৈরি করতে পারতাম, তবে আমি স্পষ্টভাবে বলতে চাই যে এটি স্বয়ংক্রিয়ভাবে ঘটুক কারণ অন্যথায় আমি অবশ্যই এখন এবং পরে তা করতে ভুলে যাব।

একটি মোড়ক স্ক্রিপ্টটি দেওয়া এত সহজ হবে না কারণ আমি প্রায়শই .ssh / কনফিগারেশনে রিমোট সার্ভারের নামগুলির জন্য কনফিগার করা শর্টহ্যান্ডগুলি ব্যবহার করি এবং কন্ট্রোলমাস্টার সকেটটি ব্যবহারকারী হিসাবে @NETWORK_NAME: NETWORK_PORT ব্যবহার করে তৈরি করা হয়। সুতরাং একটি মোড়কের উদ্দেশ্য হিসাবে কাজ করার জন্য .config / ssh পুরোপুরি বুঝতে হবে।

উত্তর:


10

আপনার নিয়ন্ত্রণের কনফিগারেশন কনফিগারেশন বিকল্পটি ব্যবহার করা উচিত।

 ControlPersist
         When used in conjunction with ControlMaster, specifies that the
         master connection should remain open in the background (waiting
         for future client connections) after the initial client connec‐
         tion has been closed.  If set to “no”, then the master connection
         will not be placed into the background, and will close as soon as
         the initial client connection is closed.  If set to “yes”, then
         the master connection will remain in the background indefinitely
         (until killed or closed via a mechanism such as the ssh(1) “-O
         exit” option).  If set to a time in seconds, or a time in any of
         the formats documented in sshd_config(5), then the backgrounded
         master connection will automatically terminate after it has
         remained idle (with no client connections) for the specified
         time.

কন্ট্রোলপরিস্ট নাটি হ'ল ডিফল্ট আচরণ, যা আপনার বর্ণনা অনুসারে। আমি মাঝে মাঝে ব্যাকগ্রাউন্ড সেশনগুলি তাদের পরিষ্কার করার জন্য কন্ট্রোলপারসিস্ট 4 ঘন্টা ব্যবহার করি ।


এটি কি আরএইচইএল-তে উপলব্ধ?
ew

1
@ নতুন আমার কাছে আরএইচইএল নেই, তবে সেন্টোস একই হওয়া উচিত। এটি CentOS 7 এ রয়েছে তবে এটি CentOS 6.5-তে নেই বলে মনে হচ্ছে। ওপেনস চেঞ্জলগ প্রস্তাব করে যে এটি ওপেনস ৫..6-এ যুক্ত করা হয়েছে, এবং সেন্টস 6..x মাত্র ৫.৩ (.0.০ খোলায় open.৪ আছে)
ড্যানিয়েল লসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.