SSH ile oturum açmak için hangi bağlantı noktasını nasıl bulurum?


15

Bir süre önce kurduğum bir uzaktan Ubuntu 10.04 sunucu kurulumum var. Kullanıcı adını ve şifreyi kaydederken, zeki görünüyordum ve normal ssh portunu 22'den ... başka bir şeye değiştirdim.

O portun ne olabileceğini nasıl öğrenebilirim?

Sunucuya, barındırma şirketinin arka kapısından erişebiliyorum, böylece Unix komutlarına ihtiyaç duyulan her şeyi çalıştırabilirim - ancak makinemde normal bir macun kabuğu kullanarak oturum açamıyorum.


Bu muhtemelen aptalca ve zaten iyi cevaplarınız var, ancak geçmişte bağlandığınızda terminal geçmişinizi ve / veya kontrol edebilirsiniz ~/.ssh/config.
Sparhawk

Yanıtlar:


24

İlk olarak hangi portun yapılandırıldığını yapılandırma dosyasına bakın:

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

Ardından ssh, az önce gördüğünüz yapılandırmayı yüklediğinden emin olmak için yeniden başlatın veya hangi bağlantı noktasının sshçalıştığını öğrenin :

$ 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

Bu ssh, 22 numaralı bağlantı noktasında normal bir koşu.


1
Sadece bir not:
sudo'ya

İhtiyacınız olan ilk komutta, sudogenellikle sshdconfig dosyası dünya tarafından okunamayacağı için gerekir. İkincisinde sudoçözümleme yapabilmeniz gerekir Program name, aksi takdirde yalnızca kendi kullanıcınız altında çalışan işlemlerin adını görebilirsiniz.
Marcos Dione

@Piertoni ile hemfikirim, bu komutu "SUDO" ile çalıştırmanıza gerek yok.
Amintabar

8

Sunucuya başka yollarla erişiminiz varsa, şunu çalıştırın:

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

Bu, yukarıda gösterilene benzer bir satır döndürür ve burada NNNseçtiğiniz bağlantı noktası olur.


3

Daha kolay yol sadece SSH sunucusu yapılandırma dosyalarına bakmaktır:

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

Ayrıca, işlem başına dinleme bağlantı noktalarını aşağıdakilerle kontrol eder lsof:

sudo lsof -Pi | grep ssh

veya komutları listeleyen diğer bağlantı noktaları netstat -lntu.


3

Sunucunun konsoluna erişiminiz yoksa, uzaktaki bir ana bilgisayardaki tüm bağlantı noktalarını araştırmanız gerekir. Bu yardımcı programlar gibidir nmap, ancak ağ katmanı trafiği ana bilgisayar (IP adresi) VE bağlantı noktası kombinasyonuna geçirmelidir.


3

Sunucuya oturum açma erişiminiz yoksa, SSH bağlantı noktasını nmap'sürüm tarama' özelliğini kullanarak bulabilirsiniz :

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

Bu -sVseçenek "sürüm taraması" ve -p-"tüm bağlantı noktalarını tara" anlamına gelir. İyi bir bağlantınız varsa ve birinin güvenlik duvarını veya IDS'sini rahatsız etmeyeceğinizden eminseniz, -T5"olabildiğince hızlı tarama" özelliğini ekleyebilirsiniz . Sonuçlar şöyle görünecektir:

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.