मैं SSH के साथ लॉग इन करने के लिए किस पोर्ट पर काम करूं?


15

मेरे पास एक उबंटू 10.04 सर्वर सेटअप है जिसे मैं थोड़ी देर पहले सेटअप करता हूं। जबकि मैंने उपयोगकर्ता नाम और पासवर्ड दर्ज किया है, मुझे लगता है कि यह चतुर है और सामान्य एसश पोर्ट 22 से बदल दिया गया है ... कुछ और।

मुझे कैसे पता चलेगा कि पोर्ट क्या हो सकता है?

मेरे पास होस्टिंग कंपनी के पिछले दरवाजे के माध्यम से सर्वर तक पहुंच है, इसलिए मैं यूनिक्स कमांड को जो भी आवश्यक हो, निष्पादित कर सकता हूं - लेकिन मैं अपनी मशीन पर एक सामान्य पोटीन शेल का उपयोग करने में लॉग इन नहीं कर सकता।


यह शायद मूर्खतापूर्ण है, और आपके पास पहले से ही अच्छे उत्तर हैं, लेकिन यदि आप अतीत में जुड़े हुए हैं, तो आप अपने टर्मिनल इतिहास और / या जांच कर सकते हैं ~/.ssh/config
स्पार्कहॉक

जवाबों:


24

सबसे पहले कॉन्फ़िगर फाइल पर देखें कि कौन सा पोर्ट कॉन्फ़िगर किया गया है:

$ sudo grep Port /etc/ssh/sshd_config
Port 22

फिर या तो sshयह सुनिश्चित करने के लिए पुनरारंभ करें कि यह आपके द्वारा देखे गए पोर्ट sshको लोड करता है या यह पता करता है कि पोर्ट किस पर चल रहा है:

$ sudo netstat -tpln | egrep '(Proto|ssh)'
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      12586/sshd

यह sshपोर्ट 22 पर एक सामान्य रनिंग है।


1
बस एक ध्यान दें: मुझे नहीं लगता कि आपको
सुडो

पहले कमांड में आपको जरूरत है sudoक्योंकि आमतौर पर sshdकॉन्फिग फाइल पढ़ने योग्य नहीं है। दूसरे में आपको sudoहल करने में सक्षम होने की आवश्यकता है Program name, अन्यथा आप केवल अपने उपयोगकर्ता के तहत चलने वाली प्रक्रियाओं के लिए नाम देख सकते हैं।
मार्कोस डायनो

मैं @piertoni से सहमत हूं, आपको "SUDO" के साथ इस कमांड को चलाने की आवश्यकता नहीं है।
अमिताभ

8

यदि आपके पास अन्य माध्यमों से सर्वर तक पहुंच है, तो बस चलाएं:

$ sudo grep Port /etc/ssh/sshd_config 
Port NNN

वह एक रेखा लौटाएगा जैसा कि ऊपर दिखाया गया है कि NNNआपके द्वारा चुना गया पोर्ट कहां होगा।


3

आसान तरीका सिर्फ SSH सर्वर कॉन्फ़िगरेशन फ़ाइलों को देख रहा है:

➜  ~  sudo grep Port /etc/ssh/sshd_config 
   Port 22

इसके साथ प्रति प्रक्रिया सुनने के बंदरगाहों के लिए भी जाँच कर रहा है lsof:

sudo lsof -Pi | grep ssh

या किसी भी अन्य बंदरगाहों की सूची जैसे आदेश netstat -lntu


3

यदि आपके पास सर्वर के कंसोल तक पहुंच नहीं है, तो आपको दूर के मेजबान से सभी बंदरगाहों की जांच करनी होगी। ये उपयोगिताओं की तरह हैं nmap, हालांकि नेटवर्क परत को होस्ट (आईपी पते) और पोर्ट के विशिष्ट संयोजन के लिए यातायात को रिले करना चाहिए।


3

यदि आपके पास सर्वर तक प्रवेश नहीं है, तो आप एसएसएच पोर्ट को nmap"एस" संस्करण स्कैन "सुविधा का उपयोग करके पा सकते हैं :

nmap -sV -p- <insert target's IP here>

-sVविकल्प का अर्थ है "संस्करण स्कैन", और -p-इसका मतलब है "सभी बंदरगाहों स्कैन"। यदि आपको एक अच्छा कनेक्शन मिल गया है और आप सुनिश्चित हैं कि आप किसी के फ़ायरवॉल या आईडीएस से परेशान नहीं होंगे, तो आप -T5"स्कैन जितनी जल्दी हो सके" के लिए जोड़ सकते हैं । परिणाम कुछ इस तरह दिखेंगे:

PORT     STATE SERVICE VERSION
1422/tcp open  ssh      (protocol 2.0)

1
$ sudo netstat -lntp
[sudo] password for XXX:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address    Foreign Address  State        PID/Program name
tcp   0      0      0.0.0.0:22       0.0.0.0:*        LISTEN       2799/sshd
tcp6  0      0      :::22            :::*             LISTEN       2799/sshd
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.