সক্রিয় ssh পোর্ট ফরওয়ার্ডিং কীভাবে জানবেন


12

আমি ~/.ssh/configপ্রতিটি সার্ভারের জন্য বিভিন্ন পোর্ট সহ ভিএনসি-র জন্য অনেকগুলি পোর্ট ফরওয়ার্ডিংয়ে কনফিগার করেছি ।

এমন কোনও কমান্ড রয়েছে যা আমাকে এসএসএইচ অধিবেশন খুললে কোন বন্দরটি ফরোয়ার্ড করছে তা জানতে সাহায্য করতে পারে?

উত্তর:


13

আপনি যদি এটির -vবিকল্পটি ব্যবহার করেন তবে sshআপনি কী ফরোয়ার্ড করছেন তা আপনাকে দেখিয়ে দেবে (তবে এটি আপনাকে অন্যান্য ডিবাগ বার্তাগুলিরও একগুচ্ছ দেখায়):

ssh -v -L2222:localhost:22 remotehost

আপনাকে দেখাবে:

...debug messages...
debug1: Authentication succeeded (publickey).
Authenticated to remotehost ([10.0.0.23]:22).
debug1: Local connections to LOCALHOST:2222 forwarded to remote address localhost:22
debug1: Local forwarding listening on ::1 port 2222.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on 127.0.0.1 port 2222.
...debug messages...

এবং তারপরে আপনি যখন সেই রিমোট শেলটির সাথে যুক্ত হন আপনি একটি বিশেষ কী ক্রম টাইপ করতে পারেন:

~#

যা এইগুলির মতো সংযোগগুলি তালিকাবদ্ধ করবে:

The following connections are open:
  #3 client-session (t4 r0 i0/0 o0/0 fd 7/8 cc -1)
  #4 direct-tcpip: listening port 2222 for localhost port 22, connect from 127.0.0.1 port 59742 (t4 r1 i0/0 o0/0 fd 10/10 cc -1)

দ্রষ্টব্য, তবে, এটি কেবলমাত্র ফরোয়ার্ড করা পোর্টগুলি তালিকাভুক্ত করবে যা আসলে অন্য কোনও প্রোগ্রাম দ্বারা ব্যবহৃত হচ্ছে (এই ক্ষেত্রে আমি telnet localhost 2222আমার স্থানীয় মেশিনে এটি ফরোয়ার্ড করার জন্য করেছি remotehost

আপনার যদি বর্তমানে পাঠানো কোনও সংযোগ না থাকে তবে আপনি আপনার ssh কমান্ড স্থানীয়ভাবে যা শুনছেন তা এই netstatকমান্ডটি ব্যবহার করে দেখতে পারেন:

% netstat -tpln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:2222          0.0.0.0:*               LISTEN      28995/ssh       
tcp6       0      0 ::1:2222                :::*                    LISTEN      28995/ssh       

netstatকমান্ড এছাড়াও সম্ভবত অন্যান্য বিষয়ের তালিকা প্রস্তুত করা যাবে, কিন্তু আপনি কি আউটপুটে জন্য চেহারা করতে চান PID/Programজন্য চেহারা কলাম sshপ্রক্রিয়া, এবং Local Addressকলামে তা আপনাকে দেখাবে কি পোর্ট শোনার হচ্ছে। এই উদাহরণে এটি port 2222আমার মেশিনে আইপিভি 4 এবং আইপিভি 6 ইন্টারফেসের জন্য শুনছে ।


1
এই উত্তরের জন্য ধন্যবাদ, আমার লক্ষ্য ছিল /etc/update-motd.d/ এ স্ক্রিপ্ট যুক্ত করে পোর্টগুলি পুনঃনির্দেশিত প্রদর্শন করতে। তবে command # কমান্ডের সাথে আমি কেবল সার্ভারে পোর্টগুলি পুনঃনির্দেশিত করেছি। এবং লক্ষ্যটি প্রদর্শন করা ছিল (ssh -v আউটপুট অংশ): লোকালহস্টের সাথে স্থানীয় সংযোগগুলি: 5901 দূরবর্তী ঠিকানায় ফরোয়ার্ড করা হয়েছে 127.0.0.1:5900 স্থানীয় ফরোয়ার্ডিং শুনানি :: 1 পোর্ট 5901- এ কেবল এই 2 লাইনের ক্লায়েন্টটি প্রদর্শন করা অসম্ভব বলে মনে হচ্ছে পাশ।
slc66

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