এটি লক হয়ে গেলে আমি কীভাবে ছিঁড়ে ফেলতে পারি?


380

আমি প্রায়শই স্কুল থেকে বাড়িতে আমার বাক্সে ছিটকে যাই, তবে সাধারণত যখন আমি ক্লাসগুলি পরিবর্তন করি এবং আমার কম্পিউটার স্থগিত হয়, পাইপটি নষ্ট হয়ে যায়। তবে, ssh কেবল লক আপ করে - Ctrl+ c, Ctrl+ zএবং Ctrl+ এর dকোনও প্রভাব নেই।

আমার টার্মিনালটি পুনরায় চালু করতে পেরে এটি বিরক্তিকর এবং একটি নতুন স্ক্রিন উইন্ডোটি বন্ধ করে পুনরায় তৈরি করতে আরও বিরক্তিকর।

সুতরাং আমার প্রশ্ন, সঠিকভাবে এসএসআই ডাই করার কোনও সহজ উপায় আছে (যেমন যখন পাইপটি "সাধারণভাবে" ব্যর্থ হয় তখন এটি কোনও ভাঙা পাইপের কোনও বার্তা দিয়ে প্রস্থান করবে)? অথবা পিআইডি কী তা নির্ধারণ করতে এবং নিজে এটি মেরে ফেলতে হবে?


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

আমিও - পর্দা সেরা। তবে এটি এখনও বিরক্তিকর screen -x: পি
ওয়েন ওয়ার্নার

[মোশ] (mosh.mit.edu) এই সমস্যা এড়াতে একটি ঝরঝরে বিকল্প। এটি মাঝে মাঝে ইন্টারনেট সংযোগের সাথে "সংযুক্ত থাকে"।
jaynp

@Jaynp মোশ ব্যবহার করে আমার যে অসুবিধা হয়েছে (যেহেতু দুই মিনিট আগে) এটি কীভাবে সংযোগ বিচ্ছিন্ন করতে হয় তা আমি জানি না। আমি একটি রিমোট হোস্টে একটি টিএমউস + ইরসি সেশনটি ব্যবহার করছি (আইআরসি বাউন্সার হিসাবে, সাজানো) এবং আমি মাঝে মাঝে সংযোগ বিচ্ছিন্ন করতে চাই (টিএমক্স + ইআরসি চালিয়ে যাওয়ার সময়) এবং যা আমি <enter> + ~ + দিয়ে করেছি। এসএসএইচ ব্যবহার করে তবে মোশ ব্যবহার করে চলবে না।
পাভেল Šিমেরদা

উত্তর:


534

সাধারণ কীগুলি sshঅধিবেশনটিতে ফরোয়ার্ড করা হয় , সুতরাং এগুলির কোনওটিই কাজ করবে না। পরিবর্তে, পালানোর ক্রমগুলি ব্যবহার করুন। বর্তমান সেশন আঘাত হত্যা করতে পরবর্তীকালে Enter ↵, ~, .

এই পালাবার ক্রম আরো অনেক কিছু দিয়ে তালিকাভুক্ত করা যাবে Enter ↵, ~, ?:

Supported escape sequences:
  ~.  - terminate session
  ~B  - send a BREAK to the remote system
  ~R  - Request rekey (SSH protocol 2 only)
  ~#  - list forwarded connections
  ~?  - this message
  ~~  - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)

আঘাত করে আপনি এস্কেপ সিকোয়েন্সগুলির তালিকাটি বন্ধ করতে পারেন enter

লক্ষ্য করুন কারণ আঘাত যে ~~কারণগুলো sshপাঠাতে ~এটা আটকাচ্ছে পরিবর্তে, আপনি সুরাহা করতে পারেন এন নেস্টেড sshচাপার দ্বারা সংযোগ ~ এন বার। (এটি কেবল সেইগুলির জন্য প্রযোজ্য ~যা সরাসরি একটি অনুসরণ করে enter)) এর অর্থ enter~~~~~.এটি একটি sshঅধিবেশন 5 স্তর গভীরতর করে এবং অন্যান্য 4 টি অক্ষত রাখে।


48
কীবোর্ড বিন্যাসগুলির জন্য যেখানে ~একটি মৃত কী আছে , কী অনুক্রমটি Enter ~ Space .
সেরেন ল্যাভবার্গ

1
আমি পালানোর ক্রম আরও যুক্ত করেছি যা দরকারী হতে পারে। :)
জার্মটভিডিজক

5
মনে রাখবেন যে, আপনি লাইন uncomment প্রয়োজন EscapeChar ~মধ্যে /etc/ssh/ssh_config(অথবা ~/.ssh/ssh_configযদি আপনি পছন্দ)।
আদিত্য এমপি

6
@ হাইটকম্পিউটারজিক Enter ~ ~ .যেহেতু আপনার এসএসএইচ অধিবেশন মাধ্যমে ~ ~একটি আক্ষরিক প্রেরণ করে ~, দ্বিতীয় এসএসএইচ অধিবেশন এটি একক টিল্ড হিসাবে গ্রহণ করবে এবং এটিকে .পালানোর অংশ হিসাবে ব্যাখ্যা করবে । 5 তম নেস্টেড এসএস সেশনে প্রেরণ করতে, আপনার পালানোর ক্রমে 5 টি টিল্ড ব্যবহার করুন।
স্কোর_উন্ডার

4
জীবন পরিবর্তন;)
11

54

আপনি এসএসএইচের জন্য অ্যাপ্লিকেশন-স্তরের কিপ-আলাইভস সেটআপ করতে চাইলে সংযোগের সমস্যাগুলিতে জমাট বাঁধা থেকে রক্ষা পেতে পারেন। আমার ~/.ssh/configএতে রয়েছে:

Host *
ServerAliveInterval 15
# ServerAliveCountMax 3

এটি প্রতি 15 সেকেন্ডে এসএসএস ক্লায়েন্টকে অ্যাপ্লিকেশন-স্তরের কীপ-লাইভ প্রেরণ করে। যখনই তাদের মধ্যে তিনটি ক্রমাগত ব্যর্থ হয় (ডিফল্ট ServerAliveCountMax), ক্লায়েন্টটি সংযোগটিকে হ্যাং হিসাবে বিবেচনা করে এবং এটি বন্ধ করে দেয়।

অন্য বিকল্পের TCPKeepAliveবিপরীতে, এটি এনক্রিপ্ট করা চ্যানেলের মধ্যে যাচাই করা হয় এবং এটি ছলনামূলক নয়।


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

আপনি যদি নিয়মিত এটিকে চালিত করেন তবে এই বৈশিষ্ট্যটি চালু করার জন্য আমি উচ্চতর পরামর্শ দিচ্ছি, তবে এটি যে সামান্য সুরক্ষা ঝুঁকিপূর্ণ হতে পারে সে সম্পর্কে আপনারও জানা উচিত। আক্রমণকারী যদি নিষ্ক্রিয় সংযোগের বিরতি এবং সামগ্রীগুলি জেনে থাকে তবে একটি ज्ञात-প্লেটেক্সট আক্রমণটি সহজ হতে পারে। এটি ডিফল্টরূপে সক্ষম না করার কারণ হতে পারে।


3
নিরাপত্তা জনিত কারন. আপনি পান করতে এবং এসএসএসি সিসিওটি খোলার জন্য ছেড়ে যেতে পারেন এবং আপনার ল্যাব অংশীদার যার সাথে আপনি গত 20 বছরে কাজ করেছেন সেটি আপনার সেশনটি সার্ভার হাইজ্যাক করতে এবং এটি ধ্বংস করার জন্য ব্যবহার করতে পারে ... আপনি যখন 10 মিনিটের বিরতিতে পান করছেন।
লুইস আলভারাদো

2
@ সাইরেক্স, আহ? এবং ডিফল্ট বিকল্প অনুসারে বন্ধ করা কীভাবে আপনাকে অন্যায় ল্যাব অংশীদার থাকার থেকে বিরত রাখতে পারে? %)
ulidtko

1
@ জুলিদকো: ServerAliveInterval1 এ সেট না করার কি কোনও কারণ রয়েছে যাতে তত্ক্ষণাত হারিয়ে যাওয়া সংযোগটি সনাক্ত করা যায়?
krlMLr

2
@gertvdijk: আপনাকে ধন্যবাদ আমার জন্য, এটি Hostলাইন ছাড়াই কাজ করে । এছাড়াও, "অ্যাডভান্সড এনক্রিপশন স্ট্যান্ডার্ডের মতো আধুনিক সাইফারগুলি বর্তমানে ज्ञात-প্লেটেক্সট আক্রমণের জন্য সংবেদনশীল নয়" " (আপনি যে লিঙ্কটি যুক্ত করেছেন তা থেকে) ...
krlmlr

2
আপনি এসএসএইচকে মোশ (মোবাইল শেল) দিয়ে প্রতিস্থাপন করতে পারেন। মোশ এসএসএইচ এর মাধ্যমে সার্ভারের সাথে সংযোগ স্থাপন করে, তবে তারপরে একটি ইউডিপি ভিত্তিক চ্যানেল স্থাপন করে যা সংযোগ সমস্যার বিরুদ্ধে ক্ষয়ক্ষতিযুক্ত। মোশের একটি স্থানীয় প্রতিধ্বনিও রয়েছে, তাই সার্ভার উত্তর না দিলেও আপনি কী টাইপ করছেন তা দেখতে পারেন। কীস্ট্রোকগুলি বিতরণ করা হলে, মোশ প্রতিধ্বনিত পাঠ্যটিকে চিহ্নিত করে। mosh.mit.edu
প্যাসকেল রোসিন

41

গীকোসরের উত্তরে উল্লিখিত হিসাবে, পালানোর ক্রমটি ~.সংযোগটি শেষ করবে।

পালানোর ক্রমগুলির সম্পূর্ণ তালিকা এবং তারা কী করে তা টাইপ করে প্রদর্শিত হতে পারে ~?:

Supported escape sequences:
  ~.  - terminate connection (and any multiplexed sessions)
  ~B  - send a BREAK to the remote system
  ~C  - open a command line
  ~R  - Request rekey (SSH protocol 2 only)
  ~^Z - suspend ssh
  ~#  - list forwarded connections
  ~&  - background ssh (when waiting for connections to terminate)
  ~?  - this message
  ~~  - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)

আমি কীভাবে পালানোর ক্রমগুলির তালিকাটি বন্ধ করব?
ক্রিশ্চিয়ানপ

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