चेतावनी: रिमोट पोर्ट फॉरवर्डिंग सुनो पोर्ट 'xxxx' के लिए विफल


0

मुझे उस प्रक्रिया को कैसे पता चलेगा जो पोर्ट 'xxxx' पर सुन रही है और इसे मार रही है?

मेरे पास है RemoteForward 2022 remote.host:22 मेरी .ssh / config फाइल में।

जब भी मैं एक दूरस्थ सर्वर में ssh: ssh staging-environment मुझे यह त्रुटि मिल रही है: Warning: remote port forwarding failed for listen port 2022

पोर्ट फॉरवर्डिंग के लिए मुझे इस पोर्ट ओपन की जरूरत है।

मुझे उस प्रक्रिया को कैसे पता चलेगा जो पोर्ट 2022 पर सुन रही है और इसे मार रही है?

अद्यतन करें:

का आउटपुट netstat -tulpn

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:81                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:83                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:84                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:85                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:86                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:2022              0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:2023              0.0.0.0:*                   LISTEN      -

जवाबों:


1

पोर्ट 2022 का उपयोग कौन कर रहा है यह देखने के लिए सही कमांड है

  sudo ss -ntp

सबसे पहले, आपको नेस्टैट का उपयोग नहीं करना चाहिए, जो अब अप्रचलित है (यदि आप लिनक्स पर हैं, जैसा कि मेरा मानना ​​है कि आप हैं, लेकिन अगर आप यूनिक्स पर हैं तो बस इसे भूल जाएं); दूसरा, आपको कमांड को चलाना चाहिए sudo , अन्यथा आपके पास पोर्ट का उपयोग करके प्रक्रियाओं को प्रदर्शित करने का अधिकार नहीं होगा; तीसरा, आपको निश्चित रूप से होना चाहिए नहीं ध्वज का उपयोग करें यू , क्योंकि इसका मतलब है कि आप UDP पोर्ट को देख रहे हैं, जबकि आपको एक त्रुटि मिल रही है ssh , जो निश्चित रूप से टीसीपी का उपयोग कर रहा है, यूडीपी नहीं।


0

आप ऐसा करने के लिए कुछ तरीकों का उपयोग कर सकते हैं। netstat एक कमांड लाइन टूल है जो आपको वही करना चाहिए जो आपको चाहिए। एक कमांड लाइन उदाहरण कुछ इस तरह होगा:

# netstat -tulpn

यह आपके सिस्टम पर पोर्ट्स को लेस कर देगा और कौन सा एप्लिकेशन इसे सुन रहा है।

उम्मीद है की यह मदद करेगा


मैंने netstat का आउटपुट जोड़ा है। पोर्ट 2022 के लिए कोई प्रक्रिया सूचीबद्ध नहीं है। ऐसा क्यों होगा?
eric f

मुझे लगता है कि समस्या को कई पुराने ssh कनेक्शन के साथ करना पड़ सकता है। जब मैं ps -ef | grep ssh मैं अपने उपयोगकर्ता द्वारा बनाए गए कई सत्रों को देख सकता हूं (और यदि वे सूचीबद्ध हैं, तो इसका मतलब है कि वे अभी भी सक्रिय हैं;) और जो कुछ चल रही प्रक्रियाएं लगती हैं ...
eric f

ऐसा हो सकता है। यदि आपके पास पुराने कनेक्शन हैं, तो उनके बारे में कुछ बताया जाना चाहिए। यदि आप अपने ssh कनेक्शन में खुदाई शुरू करना चाहते हैं तो यह आपकी मदद कर सकता है। stackoverflow.com/questions/17199089/...
Matthew Williams

क्या आपने अपने राउटर के तहत कुछ भी पहले से सूचीबद्ध है या नहीं, यह देखने के लिए आपकी रुचि की जाँच की है? हो सकता है अपने आप को यह कहते हुए नोट छोड़ दिया हो कि यह क्या है।
Matthew Williams

0

जिस तरह से मुझे वर्तमान में इस त्रुटि के आसपास मिल रहा है वह है मेरे सर्वर में लॉग इन करना और ps -ef | grep ssh और मेरे उपयोगकर्ता द्वारा प्रायोजित सभी सत्रों को मार डालो।


0

बस एक त्वरित एक लाइनर यह कर देगा

for pid in `netstat -tunpl | awk '{print $4, $7}' | grep ':2022' | awk '{print $2}' | cut -d '/' -f1`; do kill -9 $pid; done
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.