ফ্ল্যাঙ্ক এসএসএস সংযোগটি স্বয়ংক্রিয়ভাবে পুনরায় শুরু করার জন্য স্ক্রিন বা অনুরূপ


18

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

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

আমি উবুন্টু 14.04 এলটিএস, মেট সংস্করণ ব্যবহার করছি। ধন্যবাদ


4
পুনরায় "শেল উইন্ডো হিমায়িত হয়": এটি কারণ আপনার স্থানীয় ssh জানেন না যে সংযোগটি মারা গেছে। আপনার পাশটি সংযোগটি ফেলে দিতে বলুন <Enter>এবং হিট করুন এবং টাইপ করুন ~.এবং আপনি পুনরায় সংযোগ করার জন্য শেষ ssh কমান্ডটি পুনরাবৃত্তি করতে পারেন (উদাহরণস্বরূপ আপ-তীর সহ বা !!)।
অ্যালেক্সিস

@ আলেক্সিস যা পুনরায় সংযোগ করার জন্য দ্রুততর উপায় বলে মনে হচ্ছে, ধন্যবাদ! আমি এটি স্বয়ংক্রিয়ভাবে যদিও ঘটতে ভালোবাসতাম ...
ম্যাক্স উইলিয়ামস

উত্তর:


23

আপনি ব্যবহার করতে পারেন mosh: https://mosh.org/

আপনি একটি নির্ভরযোগ্য ইন্টারনেট সংযোগ সহ একটি 'জাম্প' সার্ভার সেট আপ করতে পারেন যা আপনি moshসংযুক্ত করতে ব্যবহার করেন, তারপরে sshআপনি পরিচালনা করেন এমন প্রতিটি সার্ভারে সেশন থাকে। জাম্প সার্ভারটি ব্যবহার করার পরামর্শ দেওয়ার কারণটি হ'ল আপনি যে moshসার্ভারগুলি পরিচালনা করছেন সেগুলিতে আপনি ইনস্টল করতে চান না ।

এর আরেকটি সুবিধা moshহ'ল এটি টিসিপি না দিয়ে ইউডিপি ভিত্তিক এবং আপনার সেশন আইপি ঠিকানার পরিবর্তনের সাথে বেঁচে থাকতে পারে, উদাহরণস্বরূপ ওয়াইফাই থেকে একটি মোবাইল ইন্টারনেট সংযোগে যাওয়া।

কেবল এটি পরিষ্কার করার জন্য, এটি moshপ্রতিস্থাপন নয় screen, বরং এটি ssh। এটির screenসাথে এটি এখনও ব্যবহার করা ভাল ধারণা , যেহেতু moshক্লায়েন্ট যদি কোনও কারণে মরে যায় তবে নিজেই আপনার সেশনে পুনরায় সংযোগ করার কোনও উপায় সরবরাহ করে না।


ধন্যবাদ, এটি কেবলমাত্র একটি সার্ভার (বেশিরভাগ সময়) এবং আমরা এটির মালিক তাই আমার মোশ ইনস্টল করতে সক্ষম হওয়া উচিত। আমি তা চেক আউট করব.
ম্যাক্স উইলিয়ামস

আসলে দেখা যাচ্ছে যে আমাদের সার্ভারটি বেশ পুরানো (বা আমার একটি প্রাচীন উবুন্টু বলতে হবে) এটি ইনস্টল করা খুব কঠিন। :(
ম্যাক্স উইলিয়ামস

@ ম্যাক্সউইলিয়ামস কত বছর বয়সী? এমনকি এলটিএস 12.4 সমর্থন ছাড়িয়ে গেছে। এবং কেন এটি নিজেই সংকলনের চেষ্টা করবেন না
ফুক্লভি

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

1
মোশের উপর দিয়ে টিএমউক্স টার্মিনালের সাথে সংযোগ স্থাপন করা আমার পক্ষে সবচেয়ে স্থিতিশীল সমাধান।
নিমো

3

আমি tmuxএখন কয়েক বছর ধরে ব্যবহার করছি এবং আমার অভিজ্ঞতাতে এটি স্বয়ংক্রিয়ভাবে পুনরায় সংযোগ স্থাপন করে। অন্ততপক্ষে সংযোগটি কেবল অপেক্ষাকৃত সংক্ষিপ্ত সময়ের জন্য ব্যর্থ হয়। নোট করুন যে আমি আসলে byobuব্যাকএন্ড হিসাবে tmux ব্যবহার করি । যদি এই বলিষ্ঠতার একটি বৈশিষ্ট্য আমি জানি না tmuxবা byobuবা এমনকি দুই সমন্বয় কিন্তু আমি আপনাকে পরামর্শ দিচ্ছি আপনি উভয় ব্যবহার করে দেখুন।

আমি আমার স্থানীয় আর্ক ইনস্টল থেকে একটি ভিপিএন এর মাধ্যমে বিভিন্ন দূরবর্তী উবুন্টু সার্ভারের সাথে সংযুক্ত করি। আমি রিমোটের সাথে সংযুক্ত থাকাকালীন আমার নেটওয়ার্ক কেবলটি আনপ্লাগ দিয়ে ঠিক এখনই এটি পরীক্ষা করেছি। অধিবেশনটি স্থগিত হয়ে গেল, তবে আমার কেবলটি আবার প্লাগ ইন করার সাথে সাথে এটি নির্বিঘ্নে পুনরায় শুরু হয়েছিল।

তবে আমি যখন আমার রাউটারটি পুনরায় চালু করে পরীক্ষা করেছি তখন সংযোগটি ফিরে আসেনি did আমি ধরে নিই যে নেটওয়ার্কটি কত দিন বন্ধ ছিল তার সাথে এটির কিছু করার ছিল তবে এটি কয়েক সেকেন্ডের মধ্যেই নিচে থাকলে এটি পুনরায় সংযুক্ত হতে পারে বলে মনে হচ্ছে।

এটি প্রাসঙ্গিক ক্ষেত্রে, আমি terminatorআমার টার্মিনাল এমুলেটর হিসাবে ব্যবহার করে এই সমস্ত করি।

তিনটিই উবুন্টু সংগ্রহস্থলে পাওয়া যায়:

sudo apt-get install tmux terminator byobu

যাইহোক, আমি সব নিশ্চিত এ নই যে হয় tmuxবা byobuSSH সংযোগ বিচ্ছিন্ন হ্যান্ডলিং ভালো হয়। আমি কেবল জানি যে আমার অভিজ্ঞতায় তারা প্রায়শই সংক্ষিপ্ত সংযোগ হ্রাস থেকে ফিরে আসে। যদিও এটি আমার কনফিগারেশনের অন্যান্য দিকগুলি হতে পারে।


1
আপনি যখন আপনার রাউটারটি পুনরায় শুরু করবেন তখন আপনাকে একটি আলাদা পাবলিক আইপি ঠিকানা দেওয়া হতে পারে, যা tcpসংযোগটি ভেঙে দেবে । আমার অভিজ্ঞতা sshথেকে বিরতিহীন নেটওয়ার্ক ড্রপ আউটগুলি খুব দৃ res় হতে পারে, আপনি উইন্ডোর tmuxঅভ্যন্তরে ব্যবহার করছেন এমন বাস্তবতার সাথে এর কোনও সম্পর্ক আছে বলে আমি মনে করি না ssh
মরিচা শ্যাকলফোর্ড

3
আমিও একই কথা বলতে যাচ্ছিলাম: প্লেইন এসএসএইচ দিয়েও, আপনি যতক্ষণ না টিসিপি সংযোগটি মারা না যায় ততক্ষণ আপনি একটি সংক্ষিপ্ত সংযোগ মোকাবেলা করতে পারেন। যা এটি হতে পারে, যদি আপনার ইন্টারফেসটি শাটডাউন হয়ে যায়, বা কিছু অতিমাত্রায় রাউটার এটি মেরে ফেলে (এনএটি রাউটারগুলি পুনরায় বুট করার ক্ষেত্রে নাট রাষ্ট্রটি ভুলে যেতে পারে এবং বিদ্যমান সংযোগগুলি ভেঙে দিতে পারে), বা ClientAlive/ ServerAliveট্রিগারগুলি, বা ... আমার কী ধারণা byobuনেই, যদিও ।
ইলকচাচু

হ্যাঁ, তবে মনে হয় না যে কোনও সংযোগ ব্যর্থতায় ওপি হিমশীতল অনুভব করছে while তবে হ্যাঁ, আপনি ঠিক বলেছেন, আমি এটি সাধারণ এসএসএস এবং টিএমউক্সের সাথেও দেখছি। তবুও, সম্ভবত পর্দা এটি মোকাবেলা করতে পারবেন না?
টেরডন

2
হ্যাঁ, ম্যাক্সউইলিয়ামস tmuxমূলত আরও আধুনিক বিকল্প screen। আমি এখন যেমন এখন কাজ করার মতো কাজ শুরু করেছি এবং এই ধরণের জিনিসটির প্রয়োজন হয়েছিল তখন আমার কুরসারি পড়ার পরামর্শ দেওয়া হয়েছিল যে tmuxএই দিনগুলিতে আরও ভাল পছন্দ। আমি হারিয়ে যাওয়া সংযোগগুলির আরও ভাল পরিচালনা করতে এটিও 100% নিশ্চিত নই, আমি যা জানি কেবল এটিই আমার অভিজ্ঞতার সংক্ষিপ্ত অবসান থেকে পুনরুদ্ধার হয়। এটি নিচে tmuxবা অন্য কিছু, আমি জানি না। তবে এটি চেষ্টা করার মতো মনে হচ্ছে :)। ব্যোবু মূলত স্ক্রিন / টিএমউক্সের একটি সম্মুখভাগ, জিইউআই টার্মিনাল এমুলেটর নয়। এটি অত্যন্ত উপকারী যদিও: byobu.org
টেরডন

2
tmux সংযোগ বিঘ্ন সম্পর্কে কিছুই করে না। এটি ssh দ্বারা সরবরাহিত টার্মিনাল ডিভাইসের সাথে কাজ করে। এটি সমস্ত দাঁড়িয়ে এবং এসএসএস সংযোগের সাথে পড়ে।
জোনাস শোফার

2

ServerAliveসংযোগটি ব্যর্থ হয়ে গেছে তা সনাক্ত করতে ssh এর বিকল্পগুলি ব্যবহার করুন ।

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

ডিফল্ট মান 3 হয়, উদাহরণস্বরূপ, সার্ভারআলাইভআইন্টারওয়াল (নীচে দেখুন) 15 এ সেট করা আছে এবং সার্ভারআলাইভকাউন্টম্যাক্স ডিফল্টে রেখে দেওয়া হয়েছে, যদি সার্ভার প্রতিক্রিয়াবিহীন হয়ে যায়, প্রায় 45 সেকেন্ড পরে এসএসএস সংযোগ বিচ্ছিন্ন হয়ে যাবে।

ServerAliveInterval
সেকেন্ডের মধ্যে একটি টাইমআউট ব্যবধান সেট করে যার পরে সার্ভার থেকে কোনও ডেটা না পাওয়া গেলে, ssh (1) এনক্রিপ্ট করা চ্যানেলের মাধ্যমে সার্ভারের প্রতিক্রিয়া চেয়ে একটি বার্তা প্রেরণ করবে। ডিফল্ট 0 হয়, এটি বোঝায় যে এই বার্তাগুলি সার্ভারে প্রেরণ করা হবে না।

সুতরাং আপনি যদি ServerAliveInterval5 তে সেট করেন, sshযদি 15 সেকেন্ডের জন্য নেটওয়ার্কটি সরে যায় তবে স্বয়ংক্রিয়ভাবে সংযোগ বিচ্ছিন্ন হয়ে যাবে।


জোর করে এসএসএইচ অধিবেশন ভাঙ্গতে, আমি ~.~.~.
চাপলাম

@ ইম্জ - ইভানজ্যাচার্যচেভ এটি ধরে নিয়েছে যে আপনি বলতে পারেন যে সংযোগটি স্তব্ধ হয়ে গেছে। এসএসএইচ রক্ষণশীল ব্যবহার করা ব্যর্থতা স্বয়ংক্রিয়ভাবে সনাক্ত করবে।
বার্মার

এটি সত্যিই দরকারী বলে মনে হচ্ছে, ধন্যবাদ, আমি পরের বার "ফ্লেকি জোন" এ আসার চেষ্টা করব।
ম্যাক্স উইলিয়ামস

@ বারমার হ্যাঁ, সত্য। সংযোগটি সত্যই হ্যাং হয়েছে কিনা তা নির্ধারণ করার সমস্যাটি সম্পর্কেও আমি ভেবেছিলাম, বা কিছু চাপলে আমি দুর্ঘটনাক্রমে এই কীগুলি দূরবর্তী দিকে প্রেরণ করতে পারি ... এবং আমি এর ভাল সমাধান জানি না।
ইম্জ - ইভান জাখারিয়াচেভ

2

অনুরূপ পরিস্থিতিতে আমি eshellইমাক্সের ভিতরে ট্রাম্প (ওভার এসএসএস) ব্যবহার করার প্রবণতা রাখি। রিমোট শেলের জন্য ওয়ান্টেড কমান্ড না দিয়ে আমার জন্য খুব ঝামেলা না করেই প্রয়োজন হলে পুনরায় সংযোগ স্থাপনের বিষয়ে ট্রাম্প যত্নশীল care

তবে এসেমেল টার্মিনাল হিসাবে ভাল নয়, অর্থাত্, টার্মিনালটির সাথে বিশেষ কিছু করার জন্য কমান্ড চালানোর জন্য, বা এটি একটি নির্দিষ্ট সময়ের জন্য ধারাবাহিকভাবে (ক্রমবর্ধমান) কিছু মুদ্রণ করে চলে।

মূলত, ট্রাম্পের সাথে ইম্যাক্সে এটি ব্যবহার শুরু করা বেশ সহজ:

M-x eshell
cd /user@host:

1

দাবি পরিত্যাগী

যদি আপনার এসএসএইচ সংযোগটি সংক্ষিপ্ত নেটওয়ার্ক বিভ্রাট থেকে বেঁচে না থাকে, তবে অন্য কিছু চলছে যা sshটিসিপি তাদের স্বাভাবিক কাজটি করতে দেয় না।

বিস্তারিত জানার জন্য নীচে দেখুন। যাই হোক:

দ্রুততম ও দুরন্ততম কোনও নির্ভরতা সমাধান

এটির মতো একটি শেল স্ক্রিপ্ট তৈরি করুন:

#!/bin/sh -

# Tune these numbers depending on how aggressively
# you want your SSH session to get reconnected.
timeout_options='-o ServerAliveInterval=4 -o ServerAliveCountMax=2'

# 255 is the status OpenSSH uses to signal SSH errors, which
# means we want to connect. All other exit statuses suggest
# an intentional exit.
status=255

# Keep opening the SSH connection and immediately dropping into
# `screen` until an intentional exit happens.
while [ "$status" = 255 ]
do
    ssh $timeout_options -t "$@" screen -dR
    status=$?
    # You can add a `sleep` command here or a counter or whatever
    # you might need as far as rate/retry limiting.
done
exit "$status"

এটি কেবল একটি বোকা-সরল লুপ চালাবে যা sshসংযুক্ত হওয়ার চেষ্টা করে এবং সংযুক্ত করার চেষ্টা করে screen। হোস্ট বা অন্য যে কোনও কিছু আপনি সাধারণত sshকমান্ড-লাইন আর্গুমেন্ট হিসাবে আপনার অনুরোধে পাস করবেন Pass

পুনঃসংযোগটি এসএসএইচ সংযোগের সাথে একটি ত্রুটি হিসাবে রিপোর্ট করেছে কিনা তার উপর ভিত্তি করে, যার অর্থ "আপনার আক্ষরিক অর্থে ওয়াইফাই চালু হয়নি" বা যাই হোক না কেন এসএসএইচ নন ত্রুটিগুলি সনাক্ত করার জন্য এটির কোনও বুদ্ধি নেই, তবে সম্ভবত এটির জন্য কোনও তাত্পর্য নেই for আপনি.

আমি ধরে নিচ্ছি আপনার ssh-agentবা একটি নো-পাসফ্রেজ এসএসএইচ কী যা আপনার কাছ থেকে অতিরিক্ত ইনপুট ছাড়াই পুনরায় সংযোগ স্থাপনের অনুমতি দেবে।

একটি ক্ষুদ্র জাতি অবস্থা হতে চলেছে যেখানে আপনি যদি ^Cপুনরায় সংযোগের সময় সেকেন্ডের সঠিক মানব-দুর্ভেদ্য ভগ্নাংশের সময় আঘাত করেন তবে আপনি ^Cক্লায়েন্ট টার্মিনাল পেরিয়ে যাওয়ার পরিবর্তে স্ক্রিপ্টটি মেরে ফেলতে পারেন, সুতরাং যদি আপনার সংযোগের ঝুলন্ত সন্দেহ হয় ^Cখুব উদ্যোগীভাবে ম্যাশ করবেন না ।

সহজতম অতিরিক্ত সফ্টওয়্যার সমাধান

আপনি প্রোগ্রামটি অটোশ চেষ্টা করতে পারেন যা আপনার উবুন্টু প্যাকেজ সংগ্রহস্থলে পাওয়া উচিত।

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

বিস্তারিত

কীভাবে sshস্বাভাবিকভাবে সুস্থ হয়ে ওঠে

কেবল যাচাই করার জন্য, কারণ আমি নিজের পরীক্ষা না করেই কথা বলতে পছন্দ করি না, আমি উত্তর দেওয়ার আগে কিছুটা পরীক্ষা চালিয়েছি:

আমি একটি লিনাক্স ডিভাইসের সাথে আমার ওয়াইফাইতে উঠলাম, আমার ল্যানে অন্য ডিভাইসে এসএসএইচ সংযোগ তৈরি করেছি, যাচাই করেছিলাম sshঅন্য প্রান্তের সাথে আমার একটি ওয়ার্কিং সংযোগ ছিল (কমান্ড ইত্যাদি চালাতে পারে), তখন ক্লায়েন্টটি ওয়াইফাই সংযোগ বিচ্ছিন্ন করে (ইন্টারফেসটি সৃষ্টি করে) ডি-কনফিগার করা হবে: আর আইপি ঠিকানা নেই), এসএসএস সেশনে আরও একগুচ্ছ আরও অক্ষর টাইপ করেছেন (অবশ্যই কোনও প্রতিক্রিয়া নেই), এবং তারপরে আমার ওয়াইফাইয়ের সাথে পুনরায় সংযোগ স্থাপন করেছেন - খারাপ সংকেত এবং অন্যান্য কারণগুলির কারণে পুনঃসংযোগটি কমপক্ষে একবার ব্যর্থ হয়েছিল , তারপরে পুনরায় সংযুক্ত হয়ে: sshঅধিবেশনটি পুনরুদ্ধার হওয়ার জন্য আমি প্রায় পাঁচ সেকেন্ড অপেক্ষা করেছিলাম , কিছুই ঘটেনি তাই আমি আরও একটি কী sshচাপলাম এবং অধিবেশনটি তত্ক্ষণাত পুনরায় জীবন্ত হয়ে উঠল, সংযোগের সময় আমি যে সমস্ত কীগুলি লিখেছিলাম তা কমান্ড লাইনে উপস্থিত হওয়ার সাথে সাথে।

দেখুন, sshটিসিপি নেটওয়ার্ক সকেটে কেবল লিখুন / পড়ুন যতক্ষণ না ওএস ওকে কিছু ভুল হয়ে যাওয়ার কথা বলে, এবং টিসিপি আসলে দীর্ঘায়িত সংযোগ ড্রপের পক্ষে খুব সহনশীল।

ডিফল্ট কার্নেল সেটিংস সহ নিজস্ব ডিভাইসগুলির বামে লিনাক্সের টিসিপি স্ট্যাকটি সংযোগটি মৃত ঘোষণার আগে এবং কোনও ত্রুটির প্রতিবেদন করার আগে লিনাক্সের টিসিপি স্ট্যাকটি বেশ কয়েক মিনিটের জন্য পুরোপুরি নিঃশব্দ হয়ে যাওয়ার বিষয়টি সহ্য করবে ssh- এমন সময় অবশেষে আমরা বলপাড়ের সাথে কথা বলছি up ~ 30 মিনিটের মধ্যে, বা কমপক্ষে অবশ্যই এক মিনিট বা এক মিনিট দীর্ঘস্থায়ী সংযোগ হিচাপগুলিতে যথেষ্ট দীর্ঘ।

কভারগুলির নীচে, লিনাক্স টিসিপি স্ট্যাকটি ধীরে ধীরে দীর্ঘ এবং দীর্ঘতর বিলম্ব সহ বার্তাগুলি পুনরায় চেষ্টা করে, যদিও এর অর্থ হল যে আপনার সংযোগটি ফিরে আসার পরে আপনি সম্ভবত আপনার sshঅধিবেশনটি "জীবিত" উপস্থিত হওয়ার আগে অতিরিক্ত ল্যাগের দিকে তাকিয়ে থাকবেন ।

কেন এই মাঝে মাঝে বিরতি

প্রায়শই কিছু সক্রিয়ভাবে কিছু পরে ঘনিষ্ঠ সংযোগ হয় যার ফলে উল্লেখযোগ্যভাবে খাটো পরিমাণ যে বিভিন্ন TCP স্ট্যাক সহ্য করবে চেয়ে নিষ্ক্রিয়তার সময়ের, এবং তারপর আপনার যে সংযোগ স্থিতি প্রতিবেদন করতে ব্যর্থ sshক্লায়েন্ট।

সম্ভাব্য প্রার্থীদের অন্তর্ভুক্ত:

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

  2. আরও ভাল আচরণ করা ফায়ারওয়াল / রাউটারগুলি একটি টিসিপি আরএসটি প্যাকেট ইনজেক্ট করবে, যা সাধারণত connection reset by peerত্রুটি বার্তা হিসাবে প্রকাশিত হয় , তবে রিসেট প্যাকেটটি একটি আগুন-ভুলে যায়, সুতরাং যদি আপনার ক্লায়েন্টের সাথে সংযোগটি এখনও সেই মুহূর্তে সমস্যা দেখা দেয় এবং ড্রপগুলি ফেলে দেয় প্যাকেটটিও রিসেট করুন, আপনার ক্লায়েন্ট ভাবেন যে সংযোগটি এখনও বেঁচে আছে।

  3. সার্ভারের নিজেই অপ্রত্যাশিত প্যাকেটগুলি নিঃশব্দে ফেলে দেওয়ার জন্য একটি ফায়ারওয়াল নীতি থাকতে পারে, যা যখনই সার্ভারটি সংযোগ বন্ধ হওয়ার কথা চিন্তা করে তবে ক্লায়েন্টটি না করে: ক্লায়েন্টটি সংযোগ চালিয়ে যাওয়ার চেষ্টা চালিয়ে যায় তবে সার্ভারটি ঠিক এটিকে উপেক্ষা করা হচ্ছে কারণ এই প্যাকেটগুলি সার্ভারের ফায়ারওয়াল রাজ্যের সাথে সম্পর্কিত কোনও লাইভ সংযোগ নেই।

    যেহেতু আপনি লিনাক্স চালাচ্ছেন, ঠিক কীভাবে আপনি বনাম হ্রাসের অনুমতি দিচ্ছেন তার জন্য আপনার সার্ভারের iptables/ ip6tables(অথবা nftআপনি যদি নতুন জিনিস ব্যবহার করছেন) সাবধানতার সাথে পরীক্ষা করে দেখুন। এটা তোলে করার অনুমতি খুব সাধারণ ব্যাপার নতুন / প্রতিষ্ঠিত / সংশ্লিষ্ট বিভিন্ন TCP, SSH পোর্টে প্যাকেট, কিন্তু না "অবৈধ" বেশী - আপনি চুপটি সবকিছু যে অনুমোদিত নয় ড্রপ করছি, এই সাধারণ সেটআপ সংক্ষিপ্ত সংযোগের সমস্যাগুলি পর স্থির এই ধরনের হতে পারে ।

  4. আপনার এসএসএইচ সার্ভার নিজেই টিসিপি বা এসএসএইচ ক্লায়েন্ট রক্ষণশীল প্যাকেটের জন্য একটি ওপেনএসএইচ বিকল্প ব্যবহার করে, নিষ্ক্রিয়তার একটি সময় পরে সংযোগটি বন্ধ করতে কনফিগার করা যেতে পারে। নিজেই এটি অনির্দিষ্ট স্থগিতের কারণ হয়ে উঠবে না, তবে এটি আপনাকে উপরে বর্ণিত রাজ্যের একটিতে রাখতে পারে।

  5. আপনার sshঅধিবেশন স্থগিত হওয়ার রাজ্যে যাওয়ার পরে আপনি কেবল নিজেরাই "আনহান" করার জন্য পর্যাপ্ত সময় দিচ্ছেন না এটি সম্ভব ।

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