একটি লিনাক্স সার্ভারে, আমি কীভাবে সমস্ত বর্তমান এসএসএইচ সংযোগের একটি তালিকা খুঁজে পাব, বা একটি নির্দিষ্ট এসএসএইচ সংযোগটি সংযোগ বিচ্ছিন্ন করব?
একটি লিনাক্স সার্ভারে, আমি কীভাবে সমস্ত বর্তমান এসএসএইচ সংযোগের একটি তালিকা খুঁজে পাব, বা একটি নির্দিষ্ট এসএসএইচ সংযোগটি সংযোগ বিচ্ছিন্ন করব?
উত্তর:
আপনি যদি ইন্টারেক্টিভভাবে এটি করার পরিকল্পনা করে থাকেন, তবে সবচেয়ে সহজ হ'ল who
দূরবর্তী হোস্টের কোনও ব্যবহারকারীর উপস্থিতি রয়েছে কিনা তা সন্ধান করা।
[you@host]$ who
user1 :0 Feb 8 09:45
user1 pts/1 Feb 14 17:56 (:0.0)
malcolm pts/3 Feb 15 17:50 (cockpit.serenity.com)
reynold pts/2 Feb 15 17:48 (host123.firefly.co.uk)
এটি অবশ্যই নির্বোধ নয়, তবে চাহিদা অনুযায়ী টাইপ করা সহজভাবে এবং সহজেই মানব চোখ দিয়ে প্রক্রিয়া করে।
@ গ্রাফিফেস যেমন উল্লেখ করেছে, আপনি যদি একটি -u
বিকল্প অন্তর্ভুক্ত করেন তবে who
এটি সম্পর্কিত পিআইডি প্রিন্টও করে দেবে যা আপনি তারপরে kill
কোনও সংযোগ বন্ধ করতে পাস করতে পারেন।
-u
আপনাকে পিআইডি দেবে
who -u
। পিড মেরে আমার রিমোট মেশিনের সংযোগটি শেষ করেনি। যাইহোক, আমি lsof -i | grep ":ssh"
@kce দ্বারা উত্তরে একটি প্রস্তাবনা অনুসরণ করার পরে, আমি একটি আলাদা পিড পেয়েছি; এই প্রক্রিয়াটি হত্যার ফলে সংযোগটি সমাপ্ত হয়েছিল। সম্ভবত এখানে একাধিক প্রক্রিয়া রয়েছে যা কোনও এসএসএস সংযোগের কারণে এবং যে সংযোগটি বন্ধ করে দেয় না তাকে প্রদর্শিত হত্যা করার কারণে শুরু হয়েছিল; এটাই আমার ব্যাখ্যা।
এলএসফ ব্যবহার সম্পর্কে কীভাবে?
# lsof -i |grep ":ssh"
sshd 1943 root 3u IPv6 5698 TCP *:ssh (LISTEN)
sshd 1943 root 4u IPv4 5700 TCP *:ssh (LISTEN)
sshd 3217 root 3r IPv4 9687 TCP www.example.com:ssh->192.168.61.11:7341 (ESTABLISHED)
sshd 3220 user1 3u IPv4 9687 TCP www.example.com:ssh->192.168.61.11:7341 (ESTABLISHED)
sshd 3327 root 3r IPv4 10595 TCP www.example.com:ssh->192.168.61.11:7385 (ESTABLISHED)
sshd 3330 user2 3u IPv4 10595 TCP www.example.com:ssh->192.168.61.11:7385 (ESTABLISHED)
তারপরে আপনি আপত্তিকর সংযোগটি (যেমন, ব্যবহারকারীকে সংযোগ বিচ্ছিন্ন করতে) মারতে সক্ষম হবেন:
# kill -9 3330
lsof -i tcp:22
এবং আপনার গ্রেপের প্রয়োজন হবে না।
ssh
এবং -p
বিকল্পটি নির্দিষ্ট না করে থাকেন ..
Ssh সংযোগগুলি দেখতে আপনি একটি করতে পারেন netstat -atn | grep ':22'
। এটি 22 বন্দরের সমস্ত সংযোগ দেখায়।
সংযোগটি ছাড়তে, আপনি এসএসডিডি (এসএসএইচ ডেমন) এর পিআইডি সন্ধানের চেষ্টা করতে পারেন ps-ax
।
সম্পাদনা: আমি মনে করি আপনি তাদের bash
সেশনের পিআইডি খুঁজে পাবেন (বা সমপরিমাণ শেল)। যে খুন তাদের ঠিক ছেড়ে দেওয়া উচিত।
আরেকটি সংস্থান: এই থ্রেডে বিষয় সম্পর্কে কিছু টিপস রয়েছে।
এটা চেষ্টা কর:
$ ps aux | grep sshd
এগুলি সংযোগ বিচ্ছিন্ন করতে আপনি kill PID
( PID
দ্বিতীয় কলামে প্রক্রিয়া আইডিটি কোথায় ) করতে পারেন, যদি আপনার কাছে রুট সুবিধাগুলি থাকে বা ব্যবহারকারীরা প্রশ্নে আছেন।