আমি কীভাবে একটি এসএসএইচ সংযোগ থেকে প্রস্থান করব?


245

আমি সকেট সার্ভারে কোনও বার্তা প্রেরণের জন্য এসএসএইচ এর মাধ্যমে একটি সার্ভারের সাথে সংযোগ করছি:

ssh 181.169.1.2 -p 5566

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

এমন কোনও কমান্ড বা কী সংমিশ্রণ রয়েছে যা আমাকে কমান্ড মোডে ফিরে আসতে দেয়?

উত্তর:


156

আমি কীভাবে একটি এসএসএইচ সংযোগ থেকে প্রস্থান করব?

দুটি উপায়:

  • শেল সেশনটি বন্ধ করা, উদাহরণস্বরূপ exitঅনুসরণ করা Enter, বা Ctrl- dসাধারণত আপনি sshসাধারণত সেশন থেকে প্রস্থান করতে পারবেন ,
  • আপনার যেখানে একটি খারাপ সংযোগ আছে এবং শেলটি প্রতিক্রিয়াহীন নয় সে ক্ষেত্রে Enterকীটি চাপুন, তারপরে টাইপ করুন ~.এবং ssh সাথে সাথেই বন্ধ হয়ে আপনার কমান্ড প্রম্পটে আপনাকে ফিরিয়ে দেওয়া উচিত।

প্রথম বিকল্পটি স্বজ্ঞাত হওয়া উচিত, তবে পরবর্তী বিকল্পটি আমরা কীভাবে জানি?

ম্যান পৃষ্ঠার যত্ন সহকারে পড়া থেকে আমরা এই তথ্যটি জানতে পারি।

$ man ssh

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

ESCAPE CHARACTERS
     When a pseudo-terminal has been requested, ssh supports a number of
     functions through the use of an escape character.

     A single tilde character can be sent as ~~ or by following the tilde by
     a character other than those described below.  The escape character
     must always follow a newline to be interpreted as special.  The escape
     character can be changed in configuration files using the EscapeChar
     configuration directive or on the command line by the -e option.

     The supported escapes (assuming the default ‘~’) are:

     ~.      Disconnect.

     ~^Z     Background ssh.

     ~#      List forwarded connections.

     ~&      Background ssh at logout when waiting for forwarded connection
             / X11 sessions to terminate.

     ~?      Display a list of escape characters.

     ~B      Send a BREAK to the remote system (only useful if the peer sup‐
             ports it).

     ~C      Open command line.  Currently this allows the addition of port
             forwardings using the -L, -R and -D options (see above).  It
             also allows the cancellation of existing port-forwardings with
             -KL[bind_address:]port for local, -KR[bind_address:]port for
             remote and -KD[bind_address:]port for dynamic port-forwardings.
             !command allows the user to execute a local command if the
             PermitLocalCommand option is enabled in ssh_config(5).  Basic
             help is available, using the -h option.

     ~R      Request rekeying of the connection (only useful if the peer
             supports it).

     ~V      Decrease the verbosity (LogLevel) when errors are being written
             to stderr.

     ~v      Increase the verbosity (LogLevel) when errors are being written
             to stderr.

আমি "এই বিষয়টি কীভাবে জানি" বিভাগটি বিশেষভাবে সহায়ক হিসাবে খুঁজে পাচ্ছি না, কারণ আমার কাছে বোঝা যায় যে এখানে কিছু ধরণের সুস্পষ্ট-সমাধানের সমাধান রয়েছে, যখন আমি এটির পক্ষে বিশেষত স্বজ্ঞাত মনে করি না যে "মানুষ ssh" "কীভাবে সংযোগ বিচ্ছিন্ন করতে হয় তা সন্ধান করতে। উদাহরণস্বরূপ, আমি কীভাবে "প্রস্থান" পেয়েছি? আমি সম্মত নই যে আপনি যখন পারবেন তখন ম্যান পেজগুলি পরীক্ষা করে দেখার বিষয়টি নিশ্চিত করা ভাল।
আলেকজান্ডার প্রিচার্ড

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

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

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

278

সংক্ষিপ্ত উত্তর: প্রকার exit

এটি যদি কাজ না করে তবে ...

এসএসএইচ চরিত্র এবং ক্রম সংযোগ বিচ্ছিন্ন করুন

বেশিরভাগ এসএসএইচ বাস্তবায়ন টেলনেটের Ctrl-]সংমিশ্রনের মতো ইন্টারেক্টিভ সেশনগুলির জন্য একটি পালানোর অক্ষর প্রয়োগ করে । ডিফল্ট এসএসএইচ পালানোর অক্ষরটি ~একটি লাইনের শুরুতে প্রবেশ করা হয়।

যদি আপনি একটি ইন্টারেক্টিভ ওপেনএসএসএইচ অধিবেশনটি বন্ধ করতে চান যা আটকে আছে এবং দূরবর্তী পার্শ্বে শেল প্রবেশ করে exitবা বেরোতে পারে না তবেCtrlD আপনি ~একটি বিন্দুতে প্রবেশ করতে পারেন .। কোনও ইনপুট লাইনের শুরুতে পালানোর চরিত্রটি প্রবেশ করানোর বিষয়টি নিশ্চিত হওয়ার জন্য আপনার প্রথমে এন্টার টিপুন। সুতরাং নিম্নলিখিত ক্রমটি বেশিরভাগ ক্ষেত্রে একটি এসএসএইচ অধিবেশন শেষ করবে:

Enter~.

অন্যান্য এস্কেপ সিকোয়েন্সস

ওপেনএসএইচ, উদাহরণস্বরূপ, এর সাথে সাথে অন্যান্য অব্যাহতি সিকোয়েন্স সরবরাহ করে ~.। প্রবেশ ~?একটি সেশনে আপনি একটি তালিকা দিতে হবে। কিছু উদাহরণ:

  • ~অনুসরণ Ctrl-Zঅধিবেশন স্থগিত,
  • ~& এটিকে সরাসরি পটভূমিতে রাখে,
  • ~# এই অধিবেশনটিতে ফরোয়ার্ড সংযোগগুলির একটি তালিকা দেয়।
  • আপনি কেবল একটি লাইন শুরুতে একটি টিল্ড প্রবেশ করতে চান, তাহলে আপনি এটি দ্বিগুণ করতে হবে: ~~

কমান্ড লাইন বিকল্পটি ব্যবহার করে পালানোর চরিত্রটি পরিবর্তন করা যেতে পারে -e। আপনি যদি বিশেষ মান সেট করে থাকেন তবে -e noneপালানো অক্ষম হয়ে যায় এবং সেশনটি সম্পূর্ণ স্বচ্ছ।

আরও দেখুন SSH উপর OpenBSD man পৃষ্ঠা (যার থেকে উল্লেখ করা হয় www.openssh.org অধীনে) -eকমান্ড লাইন বিকল্প


2
অযথা জটিল হয়ে উঠলে কেন এটি সহজ করবেন?
মারিয়াসমাতুটিয়

7
@ মারিয়াসমাতুটিয়া ওপি এমন একটি মামলা জিজ্ঞাসা করেছে যেখানে remoteোকার জন্য কোনও দূরবর্তী শেল নেই exitবা Ctrl-Dকেবল শ্রবণ প্রক্রিয়া। আমি স্পষ্টভাবে বলেছি যে আমার সমাধানটি একটি অধিবেশনটির জন্য উপযুক্ত যা আটকে আছে এবং বেরিয়ে আসা যায় না । আমি এটি আরও স্পষ্ট করার চেষ্টা করেছি, আশা করি এটি এখন দেখার পক্ষে আরও সহজ।
দুবু

5
আমি সন্দেহবাদী ছিলাম, কিন্তু ~.ফাঁকা জায়গা ছাড়া আমার প্রয়োজন ঠিক ঠিক ছিল, ধন্যবাদ! :)
জামে

2
সুইস জার্মান কীবোর্ড লেআউটে, টিলড্ড AltGr + ing টি চাপার মাধ্যমে তৈরি করা হয় (প্লাস এটি একটি ব্লকিং কী)। এই কারণে, মনে হয় পালানোর ক্রমটি কাজ করে না। কেউ কি সুইস জার্মানিতে ডিফল্ট এস্কেপ টাইপ করতে জানেন?
ড্যানিয়েল অ্যাল্ডার

4
@ ডবু এর আগে কাজ না করার কারণ খুঁজে পেয়েছিল। আপনি যদি ইতিমধ্যে একই লাইনে ed টাইপ করেন (যা আপনি পরীক্ষা করে দেখলে সহজেই ঘটে), নিম্নলিখিত ~ ক্রম উপেক্ষা করা হয়। প্রথমে রিটার্ন টিপতে হয়েছিল ...
ড্যানিয়েল অ্যাল্ডার

32

আপনি কি এসএসএইচ শেলটি প্রস্থান করতে চান?

আপনি টাইপ exitএবং হিট করতে পারেন Enter, বা Ctrl+ ব্যবহার করতে পারেনD


1
"প্রস্থান" সিএনটিএল + ডি
ভিএনসি দর্শনে

1
মেশিন হিমায়িত বা অদৃশ্য হয়ে গেলে বা অ্যাপ্লিকেশন কোনও ইনপুটকে সাড়া দেয় না এমন ক্ষেত্রে এটি কাজ করে না
ড্যানিয়েল অল্ডার

11

কেবল টাইপ করুন exitবা logout(তারপরে অবশ্যই প্রবেশ করুন চাপুন) উভয়ই কাজ করবে।


4

এগুলি সমর্থিত অক্ষরগুলি যা বিভিন্ন বিকল্প সরবরাহ করে যার সাথে আপনি এসএসএসের সাথে খেলতে পারেন।

সমর্থিত পালানোর ক্রম:

 ~.  - 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

(নোট করুন যে পালিয়ে যাওয়া কেবল নতুন লাইনের পরে স্বীকৃতি পেয়েছে)) আপনি আঘাতের মাধ্যমে এস্কেপ সিকোয়েন্সগুলির তালিকাটি বন্ধ করতে পারেন Enter


3

আপনি logoutকনসোল লাইনে লিখতে পারেন (এবং Enterঅবশ্যই হিট )।


1

ম্যাকোস : যখন এসএস হ্যাঙ্গগুলি নিম্নলিখিত ক্রমগুলি ব্যবহার করে:

ENTER 
SHIFT+`
.

যেখানে: শিফট + ` উত্পাদন করে ~ (টিলডে চরিত্র)

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