ওপেনএসএসএইচের ডিফল্ট নিষ্ক্রিয় সময়সীমাটি কী?


25

আমি এই সাধারণ প্রশ্নের উত্তর খুঁজে পাচ্ছি না, যা আমার কিছু কমপ্লায়েন্স ডকুমেন্টেশনের জন্য প্রয়োজন।

CentOS 6.5 (ওপেনএসএসএইচ 5.3p1-94.el6) এর একটি ডিফল্ট ইনস্টল-এ, কতক্ষণ নিষ্ক্রিয় থাকার পরে কোনও ব্যবহারকারীর এসএসএইচ অধিবেশন বন্ধ হয়ে যাবে? আমি বিশ্বাস করি নিষ্ক্রিয় সময়সীমা বাড়ানোর জন্য নিম্নলিখিতগুলি সেট করা যেতে পারে, তবে সেগুলি ডিফল্টরূপে মন্তব্য করা হয়েছে।

$ grep -i alive /etc/ssh/sshd_config
#TCPKeepAlive yes
#ClientAliveInterval 0
#ClientAliveCountMax 3

এছাড়াও, বর্তমান sshdসেটিংসের একটি তালিকা ডাম্প করার জন্য একটি আদেশ রয়েছে ? আমি কিছুই দেখতে পাচ্ছি না man sshd


3
কিছু শেল একটি সময়সীমা শেষে প্রস্থান করতে সেট করা যেতে পারে। এটি ssh অধিবেশন সমাপ্ত হতে পারে। আপনার TMOUT এনভায়রনমেন্ট ভেরিয়েবল সেট আছে কিনা তা পরীক্ষা করে দেখুন।
কেনসটার

উত্তর:


23

মন্তব্য করা লাইনগুলি sshd_configসাধারণত ডিফল্টগুলি প্রদর্শন করে। আপনার প্রশ্নের সমস্ত পংক্তির ক্ষেত্রে এটিই। আপনি sshd_configম্যানপেজে এটি যাচাই করতে পারেন । এখানে সম্পর্কিত স্নিপেটগুলি:

TCPKeepAlive

      সিস্টেমটি অন্যদিকে টিসিপি রক্ষাকারী বার্তা প্রেরণ করবে কিনা তা সুনির্দিষ্ট করে। যদি তাদের প্রেরণ করা হয় তবে মেশিনগুলির একটির সংযোগের কারণে মারা যাওয়া বা ক্রাশটি সঠিকভাবে লক্ষ্য করা যাবে। তবে এর অর্থ হ'ল এই রুটটি অস্থায়ীভাবে বন্ধ হয়ে থাকলে সংযোগগুলি মারা যায় এবং কিছু লোক এটি বিরক্তিকর বলে মনে হয়। অন্যদিকে, যদি টিসিপি রক্ষীবাহিনী না প্রেরণ করা হয় তবে সেশনগুলি "ভুত" ব্যবহারকারীদের ছেড়ে সার্ভারের রিসোর্স গ্রাস করে সার্ভারে অনির্দিষ্টকালের জন্য ঝুলতে পারে।

      ডিফল্টটি হ্যাঁ "(টিসিপি রক্ষাকারী বার্তা প্রেরণে), এবং নেটওয়ার্কটি ডাউন হয়ে গেলে বা ক্লায়েন্ট হোস্ট ক্র্যাশ হয়ে গেছে কিনা তা সার্ভারটি লক্ষ্য করবে। এটি অসীমভাবে ঝুলন্ত সেশনগুলি এড়িয়ে চলে।

      টিসিপি রক্ষণশীল ম্যাসেজগুলি অক্ষম করতে, মানটি "না" এ সেট করা উচিত।

      এই বিকল্পটি আগে বলা হয়েছিল KeepAlive

ClientAliveCountMax

      ক্লায়েন্টের জীবন্ত বার্তাগুলির সংখ্যা সেট করে (নীচে দেখুন) যা ক্লায়েন্টের কাছ থেকে কোনও বার্তা না পেয়ে sshd (8) ছাড়াই পাঠানো যেতে পারে । ক্লায়েন্ট জীবিত বার্তাগুলি প্রেরণের সময় এই থ্রেশহোল্ডটি পৌঁছে গেলে, sshd অধিবেশনটি শেষ করে ক্লায়েন্টকে সংযোগ বিচ্ছিন্ন করবে। এটি লক্ষ করা গুরুত্বপূর্ণ যে ক্লায়েন্ট জীবিত বার্তাগুলির ব্যবহারের চেয়ে খুব আলাদাTCPKeepAlive (নিচে)(উপরে)। ক্লায়েন্ট জীবিত বার্তাগুলি এনক্রিপ্ট করা চ্যানেলের মাধ্যমে প্রেরণ করা হয় এবং তাই ছলনামাযোগ্য হবে না। টিসিপি TCPKeepAliveকিপালাইভ অপশনটি সারণযোগ্য। ক্লায়েন্ট বা সার্ভার কখন সংযোগ নিষ্ক্রিয় হয়ে গেছে তা জানার উপর নির্ভর করে যখন ক্লায়েন্ট জীবিত প্রক্রিয়া মূল্যবান।

      ডিফল্ট মান 3 হয় ClientAliveInterval(নীচে দেখুন) 15 এ সেট করা থাকলে এবং ClientAliveCountMaxডিফল্টে রেখে দেওয়া হয়, প্রতিক্রিয়াহীন এসএসএইচ ক্লায়েন্টগুলি প্রায় 45 সেকেন্ড পরে সংযোগ বিচ্ছিন্ন হয়ে যাবে। এই বিকল্পটি কেবল প্রোটোকল সংস্করণ 2-এ প্রযোজ্য।

ClientAliveInterval

      সেকেন্ডে একটি সময়সীমা ব্যবধান সেট করে যার পরে ক্লায়েন্টের কাছ থেকে কোনও তথ্য না পাওয়া গেলে, sshd (8) এনক্রিপ্ট করা চ্যানেলের মাধ্যমে ক্লায়েন্টের প্রতিক্রিয়া চেয়ে একটি বার্তা প্রেরণ করবে। ডিফল্টটি 0 হয়, এটি বোঝায় যে এই বার্তাগুলি ক্লায়েন্টকে প্রেরণ করা হবে না। এই বিকল্পটি কেবল প্রোটোকল সংস্করণ 2-এ প্রযোজ্য।


1
ভুল হলে আমাকে সংশোধন করুন, তবে আমার এবং মেশিনের মধ্যে যদি কোনও ফায়ারওয়াল না থাকে (ডাব্লু / ডিফল্ট কনফিগারেশন), তবে আমি কখনই সংযোগ বিচ্ছিন্ন হব না? আমি জানি আমাদের ফায়ারওয়ালগুলি 60 মিনিটের পরে অলস টিসিপি সংযোগগুলি ড্রপ করে, তাই এখানেই বন্ধ হয়ে যায় নিষ্ক্রিয় সংযোগগুলি। আমি কেবল ওপেনএসএইচ নিজেই স্পষ্টভাবে সেশনগুলি বন্ধ করে কিনা তা পরীক্ষা করে দেখতে চেয়েছিলাম। আমি মনে করি উত্তরটি হ'ল না, ওপেনশ স্পষ্টভাবে নিষ্ক্রিয় সংযোগগুলি বন্ধ করে না, তবে ফায়ারওয়ালগুলি সাধারণত তা করে। আপনার উত্তরে উল্লিখিত সেটিংসটি প্রকৃতপক্ষে সংযোগটি অবিরত রাখতে বা সেশনটি যদি বাদ পড়ে তবে এটি সঠিকভাবে শেষ করতে সহায়তা করে।
বান্জার

2
উদ্ধৃত পাঠ্য বলেছেন যে ক্লায়েন্টএলইভআইন্টারওয়ালের জন্য ডিফল্ট 0, যার অর্থ এটি কোনও সময়ের ব্যবধানটি সংজ্ঞায়িত করে না যার জন্য কোনও সংযোগ খোলা থাকে। এবং তবুও আমরা জানি যে সময় ব্যবধানের ডিফল্টরূপে কিছু সীমাবদ্ধ মান থাকে। সুতরাং দেখে মনে হচ্ছে এমন কিছু অন্যান্য পরামিতি থাকতে হবে যা ডিফল্টরূপে সংযোগটি কতক্ষণ খোলা থাকে তা নির্ধারণ করে। যদি উপরে আমার বিশ্লেষণটি সঠিক হয়, তবে ধরুন সার্ভার এবং ক্লায়েন্ট উভয়ই লিনাক্স মেশিনগুলি ওপেনস্প চালাচ্ছে এবং উভয়ই সমস্ত ডিফল্ট ব্যবহার করছে। এক্ষেত্রে কোন পক্ষটি ডিফল্ট সেট করে, এর মান কত, এবং এটি কোথায় সেট করা হয়?
বেন ক্রোয়েল

2
@ বেনক্রোয়েল এবং তবুও আমরা জানি যে সময়ের ব্যবধানটি ডিফল্টরূপে কিছু সীমাবদ্ধ থাকে। কোন সময়ের বিরতি এবং কীভাবে আপনি এটি জানেন?
পাইওটার ডব্রোগোস্ট

9

আপনি ক্লায়েন্ট বা সার্ভারের পক্ষের জন্য এসএসএইচ রক্ষণশীল স্থাপন করতে পারেন:

মক্কেলের পক্ষে

ফাইল: /etc/ssh/ssh_config

বিষয়বস্তু:

Host *
ServerAliveInterval XX
ServerAliveCountMax YY

সার্ভার পাশ

ফাইল: /etc/ssh/sshd_config

বিষয়বস্তু:

ClientAliveInterval XX
ClientAliveCountMax YY

থেকে নেওয়া হয়েছে: http://www.sysadmit.com/2016/02/linux-y-vmware-ssh-evitar-desconexion.html


6
দরকারী, কিন্তু কোনওভাবেই প্রশ্নের উত্তর দেয় না।
bzeaman

6

ওপেনএসএইচ শেল সেশনটি শেষ করবে না যা কিছু সময়ের জন্য অলস ছিল। এটি ওপেনএসএইচ করে এমন কিছু নয়। নিষ্ক্রিয় শেল সেশনটি সমাপ্তি ওপেনএসএসএইচ-এর কনফিগারেশনের সাথে সম্পর্কিত নয়।

আপনি যে সেটিংসটি প্রদর্শন করছেন সেটি সংযোগটি নিচে নেমে গেলে এবং দূরবর্তী হোস্টের শেলের সাথে সম্পর্কিত না থাকায় এবং ব্যবহারকারী সেখানে কী করছে বা করছে না তা সম্পর্কিত সময় সম্পর্কিত।

দূরবর্তী হোস্টের শেলটি অলসতার কিছু সময় পরে (বা অন্য কোনও প্রক্রিয়া দ্বারা মারা যেতে পারে) হতে পারে তবে এটি সার্ভারে এবং আপনার এসএসএইচ ক্লায়েন্টের এসএসএইচ পরিষেবাটির কনফিগারেশনের সাথে সম্পর্কিত নয়।

সম্পর্কিত:


sshdকনফিগারেশনটি ডাম্প করতে , রুট হিসাবে "বর্ধিত পরীক্ষা মোড" ব্যবহার করুন:

sshd -T

এই নথিভুক্ত করা ম্যানুয়াল (এ খুঁজছেন এখানে OpenBSD দিকে):sshd(8)OpenSSH_7.7, LibreSSL 2.7.2

-T

বর্ধিত পরীক্ষা মোড। কনফিগারেশন ফাইলের বৈধতা পরীক্ষা করে দেখুন, কার্যকর কনফিগারেশনটিকে stdout এ আউটপুট দিন এবং তারপরে প্রস্থান করুন । Allyচ্ছিকভাবে, এক বা একাধিক -Cবিকল্প ব্যবহার করে সংযোগের পরামিতিগুলি নির্দিষ্ট করে ম্যাচের নিয়মগুলি প্রয়োগ করা যেতে পারে ।

এই বিকল্পটি sshdওপেনএসএসএইচ 5.1 / 5.1p1 এর জন্য 2008 এ যুক্ত হয়েছিল।


3

যদি প্রয়োজন নিষ্ক্রিয়তার একটি সময় পরে এসএসএইচ সংযোগটি বন্ধ করে দেওয়া হয় তবে শেলগুলি নিজেরাই সময়সীমা ভেরিয়েবলগুলি সরবরাহ করে।

ব্যাশের জন্য:

TMOUT: যদি শূন্যের চেয়ে বড় মানকে সেট করা হয়, তবে পাঠ্য বিল্টিনের জন্য ডিএমওআউটকে ডিফল্ট সময়সীমা হিসাবে বিবেচনা করা হবে। যখন টার্মিনাল থেকে ইনপুট আসবে তখন TMOUT সেকেন্ড পরে ইনপুট না এলে সিলেক্ট কমান্ডটি সমাপ্ত হয়। একটি ইন্টারেক্টিভ শেল এ, মানটি প্রাথমিক প্রম্পট দেওয়ার পরে ইনপুটটির জন্য অপেক্ষা করতে সেকেন্ডের সংখ্যা হিসাবে ব্যাখ্যা করা হয়। ইনপুট না এলে সেকেন্ডের জন্য অপেক্ষা করার পরে বাশ সমাপ্ত হয়।

এটি চালিয়ে পরীক্ষা TMOUT=10করুন এবং সংযোগটি বন্ধ করতে 10 সেকেন্ডের জন্য অপেক্ষা করুন।

টিসিএসের জন্য:

অটোলগআউট শেল ভেরিয়েবলটি নিষ্ক্রিয়তার প্রদত্ত সংখ্যক মিনিটের পরে শেলটি লগ আউট বা লক করতে সেট করা যেতে পারে।

টিসিএস-তে, দশ মিনিটের জন্য টাইমআউট নির্ধারণের সিনট্যাক্সটি হয় set autologout=10। এটি মূল সিএসএসে কাজ করে না।


-2

যদি আপনি সবার জন্য সময়সীমা 10 সেকেন্ড হতে চান তবে সার্ভার কনফিগারেশনের জন্য নিম্নলিখিত কাজগুলি করুন (sshd_config):

ClientAliveInterval 10
ClientAliveCountMax 0

আপনি যদি স্থানীয় ক্লায়েন্টদের জন্য টাইমআউট 10 সেকেন্ড হতে চান তবে ক্লায়েন্ট কনফিগারেশনের জন্য নিম্নলিখিত কাজগুলি করুন (ssh_config):

ServerAliveInterval 10
ServerAliveCountMax 0

যদি অ্যালাইভাউন্টম্যাক্স প্যারামিটারটি শূন্য নয়, এটি সম্ভবত কাজ করবে না কারণ সার্ভারটি টাইমারটিকে পুনরায় সেট করার জবাব দেবে (সংযোগের সমস্যা না থাকলে)। আপনি এটি ডিবাগিং চালু করে এসএসএস ক্লায়েন্ট চালিয়ে দেখতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.