প্রশ্ন একটি বিচ্ছিন্ন ssh অধিবেশন পুনরায় সংযোগ কিভাবে


সংযোগ বিচ্ছিন্ন একটি ssh অধিবেশন সংযোগ করার একটি উপায় আছে কি? আমরা একটি দূরবর্তী সাইটে আমাদের নেটওয়ার্ক সংযোগের সাথে সমস্যা হচ্ছে যে আমরা আলাদাভাবে কাজ করছি; যাইহোক, দূরবর্তী অবস্থানের সার্ভারগুলির সাথে সংযুক্ত থাকা অবস্থায় হারিয়ে যাওয়া প্যাকেটের কারণে আমরা অনেক সময় সংযোগ বিচ্ছিন্ন করি। বেশ কয়েকবার সেশনটি কিছুক্ষণ ধরে সক্রিয় থাকে এবং কখনও কখনও এটি কিছু পদক্ষেপের মাঝখানে থাকে (ফাইল সম্পাদনা, কিছু প্রক্রিয়া চলছে ...) যা সম্ভব হলে পুনরায় চালু করার পরিবর্তে ফিরে যেতে হবে।


141
2018-06-04 13:04


উত্স


আমি কেউ উল্লেখ করেনি বিশ্বাস করতে পারেন না mosh.mit.edu - jwbensley
@ জাভানো: আমি এটা সম্পর্কে কখনোই শুনিনি। একটি উত্তর হিসাবে যে যোগ করুন! - kbyrd
@ কেবর্ড করেছেন;) - jwbensley
একটি অনুরূপ প্রশ্ন জিজ্ঞাসা করা হয় unix.stackexchange.com/questions/105001/... প্রথম স্থানে বিচ্ছিন্নতাগুলির চারপাশে কীভাবে কাজ করা যায় সে সম্পর্কে কিছু ইঙ্গিত দিয়ে ... - anarcat


উত্তর:


আপডেট: একটি প্রকৃত উত্তর জন্য নীচের zero_r এর উত্তর দেখুন

এটি একটি উত্তর নয়, কিন্তু একটি workaround। ব্যবহার পর্দা

যখন আপনি প্রথম লগ ইন, পর্দা চালান। আপনি অন্য শেল পেতে, যে কমান্ড রান। আপনি সংযোগ বিচ্ছিন্ন হয়ে গেলে, পর্দা প্রক্রিয়াটি টার্মিনালকে জীবিত রাখে যাতে আপনার শেল এবং এটি চলমান প্রক্রিয়াগুলি পড়ে না। যখন আপনি পুনরায় সংযোগ করবেন, তখন 'screen -r' পুনরায় চালু করতে চালান।

স্ক্রিন কনফিগার করার এবং ব্যবহার করার জন্য আরো একটি গুচ্ছ আছে, তবে উপরে আপনার সমস্যার সমাধান করা উচিত।


126
2018-06-04 13:08



অথবা tmux - একটি 'শীতল' পর্দা ব্যবহার করুন, আমি উভয় ব্যবহার করেছি এবং tmux আরো পছন্দ করি কারণ আপনি শব্দটি চমত্কারভাবে বিভক্ত করতে পারেন। - John Hunt
আমি খুঁজে খুশি ছিল screen আমার উবুন্টু 1২ .x এ ইতিমধ্যে ইনস্টল করা হয়েছে তাই যদি আপনি নিশ্চিত না হন এই কমান্ডটি চেষ্টা করে দেখুন, এটি পুনঃসংযোগ এবং পুনরায় শুরু করে do-মুক্তি-আপগ্রেড প্রক্রিয়া: sudo পর্দা - ডিআর - bjm88
@ Bjm88, sudo আসল স্ক্রীন সেশন যদি সুডোর সাথে শুরু হয় তবেই ব্যবহার করা উচিত। অন্যথা এটি এমনভাবে ফিরে আসবে যে কোনও স্ক্রীন সেশন বিদ্যমান না হলে: There is no screen to be detached - Noam Manos


সার্ভারাইড sshd.conf এ যথাযথ মানগুলিতে ক্লায়েন্টআলাইভ ইন্টারভারলাল (উদাঃ 60) এবং TCPKeepAlive (হ্যাঁ বা না) সেট করার চেষ্টা করুন।

সংযোগটি মিনিটের জন্য হারিয়ে গেলেও এটি আপনার সেশনটিকে জীবিত রাখতে হবে।


118
2018-06-04 13:08



যতদূর পর্যন্ত, আপনি কেবলমাত্র একটি কার্যকারিতা হিসাবে পর্দা প্রস্তাব করার পরিবর্তে প্রশ্নটির উত্তর দেওয়ার একমাত্র মনে করেন। - kbyrd
ভাল কল. আমরা সিস্কো এএসএ / পিক্স ফায়ারওয়ালগুলি ট্রান্সভারিংয়ের সময় ডিফল্টভাবে এই পদ্ধতিটি খুঁজে পেয়েছি, যা ডিফল্ট প্রেমে টিসিপি সংযোগগুলি সময় কাটানোর জন্য। - Mike Pountney
হয়তো এটি জিজ্ঞাসা করার সঠিক জায়গা নয়, কিন্তু পোস্টারের উত্তরগুলি স্যুইচ করা কি সম্ভব? আমরা এই তথ্য সহ 'স্ক্রিন' উত্তরটি (আমার সবচেয়ে ভাল নয়, মাইক পাউন্টনি পছন্দ করি, কিন্তু আমি rep পেয়েছি) উচিত। - kbyrd
কোনও সিস্কো ভিপিএন সংযোগের সাথে সংযুক্ত থাকলে এটি কাজ করবে এবং ভিপিএন সংযোগ হারিয়ে যাবে এবং পুনরায় ইনস্টল হবে? - Brent
আমার জন্য পর্দা নিখুঁত কাজ করে, আমি স্ক্রিনযুক্ত টাস্ক এবং কাজ করতে countiune পুনরায় সংযোগ করতে পারেন - integratorIT


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

'man screen'স্বাভাবিক হিসাবে আপনার বন্ধু, এবং ওএস প্যাকেজ বলা উচিত'screen'ডিফল্টরূপে ইনস্টল করা হয় না।

মূলত:

  • একটি স্ক্রীন সেশন শুরু করুন (আপনার রিমোট হোস্টে):

    $ screen
    
  • আপনার স্ক্রীন সেশন থেকে সংযোগ বিচ্ছিন্ন করুন: জন্য CTRL-এ,

  • আবার লগ ইন করার পরে আপনার স্ক্রিন সেশনে পুনরায় সংযোগ করুন:

    $ screen -d -r
    
  • আরেকটি পর্দা 'উইন্ডো' খুলুন: জন্য CTRL-এ,

  • স্ক্রিন উইন্ডো খোলা আপনার মাধ্যমে চক্র: জন্য CTRL-এ, স্থান

এখানে প্রচুর আপনি স্ক্রিন সঙ্গে করতে পারেন শীতল উপাদান। আমি 10 বছর ধরে এটি ব্যবহার করছি, এবং এখনও নতুন বৈশিষ্ট্য খুঁজে বের করছি। এটা আমার প্রিয় ইউনিক্স ইউটিলিটি।


59
2018-06-04 13:19



হ্যাঁ, এই আমার চেয়ে অনেক ভাল উত্তর। - kbyrd
আমি কি এখনও সংযোগ বিচ্ছিন্ন ssh অধিবেশন সংযোগ করতে পারি, যদি আমি আমার পিসি রিবুট করি যেখানে স্ক্রীন চলছে? - BarathVutukuri


আমি কেউ উল্লেখ করেনি বিশ্বাস করতে পারেন না mosh;

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

মোশ (মোবাইল শেল)

রোমিং অনুমতি দেয় যে দূরবর্তী টার্মিনাল অ্যাপ্লিকেশন, intermittent সমর্থন করে   সংযোগ, এবং বুদ্ধিমান স্থানীয় প্রতিধ্বনি এবং লাইন সম্পাদন প্রদান করে   ব্যবহারকারী কীস্ট্রোক।

Mosh SSH জন্য একটি প্রতিস্থাপন। এটা আরো জোরালো এবং প্রতিক্রিয়াশীল,   বিশেষ করে ওয়াই ফাই, সেলুলার, এবং দীর্ঘ দূরত্ব লিঙ্ক উপর।

মোশ ফ্রি সফ্টওয়্যার, জিএনইউ / লিনাক্স, ফ্রিবিএসডি, সোলারিস, ম্যাকের জন্য উপলব্ধ   ওএস এক্স, এবং অ্যান্ড্রয়েড।

ওয়েবসাইট থেকে বৈশিষ্ট্য:

  • আইপি পরিবর্তন করুন। যোগাযোগ রেখো: আপনি স্থানান্তর হিসাবে Mosh স্বয়ংক্রিয়ভাবে roams ইন্টারনেট সংযোগের মধ্যে। ট্রেনে ওয়াই-ফাই ব্যবহার করুন, ইথারনেট এ হোটেল, এবং একটি সমুদ্র সৈকত LTE: আপনি লগ ইন থাকতে হবে। সর্বাধিক নেটওয়ার্ক এসএমএইচ এবং ওয়েব সহ রোমিংয়ের পরে প্রোগ্রামগুলি তাদের সংযোগ হারিয়ে ফেলে জিমেইল মত অ্যাপ্লিকেশন। মোশ ভিন্ন।

  • মিষ্টি স্বপ্ন জন্য তোলে: মোশের সাথে, আপনি আপনার ল্যাপটপটি ঘুমানোর পরে এবং পরে এটি জাগিয়ে রাখতে পারেন সংযোগ অক্ষত। আপনার ইন্টারনেট সংযোগ ড্রপ যদি, Mosh আপনাকে সতর্ক করবে - কিন্তু নেটওয়ার্ক সেবা ফিরে আসে যখন সংযোগ সারসংকলন।

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

  • কোন বিশেষাধিকার কোড। কোন ডেমন নেই: আপনি Mosh ইনস্টল বা চালানোর জন্য superuser হতে হবে না। ক্লায়েন্ট এবং সার্ভার হয় এক্সিকিউটেবল একটি সাধারণ ব্যবহারকারী দ্বারা চালিত এবং শুধুমাত্র সংযোগ জীবনের জন্য শেষ।

  • একই লগইন পদ্ধতি: Mosh নেটওয়ার্ক পোর্ট শুনতে বা ব্যবহারকারীদের অনুমোদন করে না। Mosh ক্লায়েন্ট লগ ইন করুন এসএসএইচ এর মাধ্যমে সার্ভার, এবং ব্যবহারকারীরা একই প্রমাণপত্রাদি উপস্থাপন করে (যেমন, পাসওয়ার্ড, পাবলিক কী) পূর্বের মত. তারপর মোশ মোশ সার্ভারটি দূরবর্তীভাবে চালায় এবং এটি UDP এর সাথে সংযুক্ত হয়।

  • আপনার টার্মিনাল ভিতরে রান, কিন্তু ভাল: Mosh একটি কমান্ড লাইন প্রোগ্রাম, ssh মত। আপনি এটি xterm, গনোম-টার্মিনাল ভিতরে ব্যবহার করতে পারেন, ইউআরএক্সভিটি, টার্মিনাল.এপি, আইটিআরএম, এমএক্স, স্ক্রিন, অথবা টিএমক্স। কিন্তু মোশ স্ক্র্যাচ থেকে পরিকল্পিত ছিল এবং শুধুমাত্র একটি চরিত্র সেট সমর্থন করে: UTF-8। এটি অন্য টার্মিনালে ইউনিকোড বাগ সংশোধন করে এবং SSH মধ্যে।

  • কন্ট্রোল সি মহান কাজ করে: এসএসএইচ এর বিপরীতে, মোশের UDP- ভিত্তিক প্রোটোকলটি পকেট হ্রাসটি দুর্দান্তভাবে পরিচালনা করে এবং ফ্রেম সেট করে হার নেটওয়ার্ক অবস্থার উপর ভিত্তি করে। Mosh নেটওয়ার্ক বাফার পূরণ না, তাই কন্ট্রোল-সি
    সবসময় একটি runaway প্রক্রিয়া থামাতে কাজ করে।


41
2017-11-24 13:01



Mosh একটি ssh wrapper নয় - এটি একটি ভিন্ন প্রোটোকল, প্রায় ssh এর সাথে সম্পূর্ণরূপে সম্পর্কিত নয় (এটি শুধুমাত্র লগইন করার জন্য ssh ব্যবহার করে)। - jch
+1 খুব সত্য, আমার ভুল। - jwbensley
নিরাপত্তা সম্পর্কে কি, মাঝখানে মানুষ? এনক্রিপশন? কী বিনিময়? - Nasir Iqbal


autossh আপনার সংযোগ দেখায় এবং যদি এটি নিচে যায়, এটি পুনরায় সংযোগ করে। এটি keepalives বেশী নির্ভরযোগ্য। আপনি যদি কোনও স্ক্রিন সেশনে সংযোগ করেন তবে আপনি কোথায় সংযোগ বিচ্ছিন্ন করেছেন তা থেকে সরাসরি চলুন (দেখুন rscreen যে autossh সঙ্গে আসে)


19
2018-06-06 09:11



একটি কনফিগারযোগ্য রাখা-জীবিত বাইরে, এটি স্বাভাবিকভাবেই আপনাকে একটি সেশনে পুনরায় সংযোগ করার অনুমতি দেয় না (ওপি কী খুঁজছিল তা)। কিন্তু অটোসহ এসএস টানেল, পোর্ট ম্যাপিং, ইত্যাদিগুলির জন্য প্রয়োজনীয় অ্যাপ্লিকেশনের জন্য সত্যিই সহায়ক হতে পারে। - ives
হ্যাঁ autossh + পর্দা মিষ্টি স্পট হবে। autossh আছে rscreen এই জন্য। - hayalci
Autoshh mosh চেয়ে ভাল। আমি উভয় ব্যবহার করেছি। - Sridhar-Sarnobat
এখানে জেসি কিটিংয়ের একটি ব্লগ পোস্ট ব্যবহার করা হয়েছে পর্দা সঙ্গে autossh। - sampablokuper


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

এছাড়া, স্ক্রিনটি আপনাকে আপনার পর্দাটি বিভক্ত করার মতো কনসাল্টগুলি, কনসোল ইত্যাদি দেখতে দেয়। আপনি আরও তথ্য পেতে পারেন এখানে এবং এখানে

শুরু করার জন্য, আপনি সংযোগ বিচ্ছিন্ন হয়ে গেলে, আপনি ব্যবহার করতে পারেন

screen -ls

আপনার সেশন দেখতে এবং

screen -r ${session} 

একটি বিচ্ছিন্ন এক পুনঃসংযোগ করতে।


9
2018-06-04 13:06





tmux

এই এক ক্লাসিক। যখনই আপনি একটি টার্মিনালে সংযোগ হারানোর ঝুঁকি চালান এটি ব্যবহার করুন।

$ tmux
$ sh do_something_that_takes_forever

!! Connection fails so you reconnect once you notice

$ tmux ls
0: 1 windows (created Tue Aug 23 12:39:52 2011) [103x30]

$ tmux attach -t 0

ঠিক মত, আপনি কর্ম ফিরে এসেছেন।


9
2018-04-06 01:24



অসংখ্য ধন্যবাদ! আমি tmux এর সাথে এটি কীভাবে করতে চাই তা দেখেছি, যেহেতু বেশিরভাগ লোকেরা ভাল বিকল্প হিসাবে বিবেচনা করে। - CoolOppo