আমি কীভাবে কোনও এসএসএইচ ফরওয়ার্ড করা পোর্ট সরিয়ে ফেলব


52

আমি ssh -L 10002:192.168.0.30:10002 192.168.1.135পোর্ট ফরওয়ার্ডিং প্রতিষ্ঠা করতাম তবে এখন এটি অপসারণ করা দরকার।

আমি এটা কিভাবে করবো?


আমরা প্রায়শই উপলব্ধি করি যে আমরা আবার একই কমান্ডটি চালিয়ে একটি নতুন ssh অধিবেশন চালাচ্ছি এবং Warning: remote port forwarding failed for listen portবার্তা পেয়েছি তখনও পোর্টটি ফরোয়ার্ড করা হচ্ছে ।
গ্যাবলেউক্স

উত্তর:


56

আপনি যদি লিনাক্স ব্যবহার করেন তবে আপনি প্রক্রিয়াটি মেরে ফেলতে পারেন:

ps aux | grep ssh

এবং তারপরে ব্যবহার করুন

kill <id>

প্রক্রিয়া মেরে ফেলতে।

কিল কমান্ড সফল না হলে আপনি চেষ্টা করতে পারেন

kill -9 <id>

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

17
kill -9কোনও কারণ ছাড়াই মশা মারার জন্য শটগান ব্যবহার করার মতো। :)
ড্যারেন হল

2
আমি সাধারণত একটি এক মাছ ধরার নৌকা না pgrep ssh | xargs kill-9আসলে কোনও
কিছুর

2
@ গ্যাবলেউক্স এটি ধরে নেয় যে আপনার কাছে কেবল একটি sshকমান্ড রয়েছে, বা আপনি যে সমস্ত sshকমান্ড চালাচ্ছেন তা মেরে ফেলা ভাল। এটি খুব সম্ভবত একটি ভাল সাধারণ ধারণা।
ট্রিপলি

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

19

Ssh মাল্টিপ্লেক্সিং ব্যবহার করার সময়, ssh প্রক্রিয়াটি হত্যার বিষয়টি প্রায়শই অনাকাঙ্ক্ষিত হয় (এটি সেই হোস্টের সাথে সমস্ত উন্মুক্ত সংযোগকে মেরে ফেলে) এবং আপনি সহজেই পালাতে পারবেন না কারণ "মাল্টিপ্লেক্স সেশনগুলিতে এস্কেপ উপলব্ধ নেই"। তারপরে সঠিক উপায়টি হ'ল ফরোয়ার্ডিং কমান্ডের অ্যানালগটি চালানো যা আপনি বাতিল করতে চান, তবে যুক্ত করছেন -O cancel। এই ক্ষেত্রে:

ssh -O cancel -L 10002:192.168.0.30:10002 192.168.1.135

এটি অধিবেশনটি শেষ না করে এই পোর্ট ফরওয়ার্ডিংকে অক্ষম করবে। আবার, এটি কেবল তখনই কাজ করবে যদি ssh মাল্টিপ্লেক্সিং 192.168.1.135 এর সাথে সংযোগের জন্য ব্যবহৃত হয়


আমি উপস্থিত থেকে খুব খুশি এবং আমি এটি পেয়েছি, অনেক ধন্যবাদ!
গ্যালভা

2
এটি একটি সেরা সমাধান। মাস্টারকে খুন করার জন্য শুধু রান করুন ssh -O exit 192.168.1.135
ওরিয়েন্ট

আপনি যদি একাধিক সেশন না করে থাকেন তবে এক্সহুমার দুর্দান্ত উত্তরটি দেখুন! (আমার টাইপগুলি ধরার জন্য ধন্যবাদ a3nm।)
অ্যালান ডি স্মেট

অসাধারণ! এই উত্তর নেওয়া উচিত!
ট্রুং নুগেইন

13

ইতিমধ্যে চলমান এসএসএইচ অধিবেশনে কীভাবে ফরোয়ার্ড করা পোর্ট বাতিল করবেন:

  1. প্রেস ~+ + C(+ + রাজধানী সি টিল্ড)
  2. আদর্শ -KL port
  3. এন্টার চাপুন

আপনার এটি দেখতে হবে:

ssh> -KL 10002
Canceled forwarding.

12

আপনার সংযোগের জন্য একটি ক্লিপ পেতে আপনি "এস্কেপ-কী" (সাধারণত ~) ব্যবহার করতে পারেন C আপনি সেখান থেকে আপনার সংযোগটি না নিয়ে সুরক্ষাগুলি সরিয়ে ফেলতে পারেন।


1
আমি এর বিশদ জানতে চাই। আমি জানি আপনি এসএসএইচড করার পরে আপনি টানেলগুলি যুক্ত করতে পারেন তবে কীভাবে নামাবেন তা এখনও খুঁজে পাওয়া যায়নি।
কেয়ারস্টেড

9
আপনি যখন সি এল এল মোডে থাকবেন তখন আপনি সাহায্য করতে পারেন। -কেএল--এর অপ্সসাইট, -কেআর -R এর অপ্সসাইট এবং-কেডি হ'ল-ডি-র অপ্সসাইট। "এস্কেপ-কী" (~) করা # এর পরে আপনার টানেলগুলি দেখায়।
জিমি হেডম্যান

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

7

আপনি টাইপ করে একটি ইন্টারেক্টিভ কনসোল প্রবেশ করতে পারেন ~C(মূলধন "সি")। এটি আপনাকে পোর্ট ফরওয়ার্ডিংগুলিকে গতিশীলভাবে যুক্ত করতে এবং মুছে ফেলতে দেয় (কয়েকটি অন্যান্য জিনিসের মধ্যে)।

এই ক্রমটি ঠিক গাড়িতে ফিরে / নিউলাইনের পরে আসতে হবে। সুতরাং সন্দেহের মধ্যে, কেবল টাইপ করুন Enter~C(ক্রমানুসারে)।

আপনি যদি কনসোলটিতে অক্ষরগুলি উপস্থিত না দেখতে পান তবে আপনি এটি ঠিক করছেন :)

আপনার এখন একটি ssh>প্রম্পট দেখা উচিত ।

বন্দর মুছে ফেলার জন্য, কেবল প্রবেশ -KL 10002দ্বারা অনুসরণ Enter(যেখানে 10002আপনার ফরোয়ার্ড বন্দর যায়)।

বিপরীতমুখী - একটি নতুন ফরোয়ার্ড যুক্ত - এটি (শুরু থেকে শেষ পর্যন্ত) এভাবে করা যেতে পারে:

Enter~C

ssh> -L 10002:192.168.0.30:10002

Enter


আপনি একাধিক সংযোগ সংযোগ না থাকলে এটি সঠিক উত্তর । আপনি যদি হন তবে আপনার সাথে বাউন্স করা হবে ~C escape not available to multiplexed sessions। যদি এটি হয় তবে এ 3 এনএম এর দুর্দান্ত উত্তর দেখুন।
অ্যালান ডি স্মেট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.