Neden “port 22: Bağlantı reddedildi” hatası alıyorum?


70

Ben alıyorum

port 22: Connection refused 

sunucuya bağlanırken hata.

Hem openssh istemcisini hem de sunucuyu yükledim ve çalışıyorlar. Ama yine de bir hata var. Lütfen yardım et.


2
Netleştirmek için, openssh sunucusu sunucuda yüklü mü?
Kevin

Ssh'nin 22 numaralı bağlantı noktasında çalıştığını ve bağlantı noktasını engelleyen bir güvenlik duvarı kuralınız olup olmadığını kontrol edin.
Manula Waidyanatha

1
Bana göre, Güvenlik duvarını şu anda güvenlik duvarı tarafından engellenmiş olan ssh'a (port 22) izin verecek şekilde yapılandırın.
Ketan Patel


Bu muhtemelen geçici ağ kaybı nedeniyle de meydana gelebilir. Yani internet bağlantınızı kontrol edin.
user648610

Yanıtlar:


78

Bu konuyu inceledim ve sonunda uygun bir cevap aldım.

sudo apt-get update
sudo apt-get install openssh-server
sudo ufw allow 22

Sonra raspi-configbir terminal penceresine girdi ve ssh'yi etkinleştirdi.

Bu, port 22'nin sshd için kullanılmasına izin verecektir.


Burada aynı sorunu @SDsolar
Nadav B

@Nadiv, ssh'yi etkinleştirmek için raspi-config kullanmak zorunda kaldım. Cevap bunu yansıtacak şekilde düzenlendi.
SDsolar

Her iki bilgisayarda da ilk üç satır gerçekleştirildi ve dosya şimdi başarıyla aktarıldı. Neden Ubuntu varsayılan olarak bu yüklü / etkin olarak gelmiyor? connection refusedBir güvenlik duvarı sorunları, kullanıcı adı sorunu, IP adresi sorunu, vs vs. Çok sinir bozucu olsaydı hata, hiçbir fikrim o kadar şifreli vardı edilir.
Nefret

sudo ufw allow 22bir kere çalıştı. Yine hata görünmeye başladı.
vineeshvs

32

Sunucudayken, sshd'nin gerçekten çalıştığından ve 22 numaralı bağlantı noktasını dinlediğinden emin olun.

$ sudo netstat -anp | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1538/sshd       
tcp6       0      0 :::22                   :::*                    LISTEN      1538/sshd       

Eğer sonuç alamazsanız veya tcp'yi dinlediğinizi göstermiyorlarsa 0.0.0.0:22 ... düzeltin.

Sshd'nin çalıştığını ve tcp port 22'yi dinlemekte olduğunu gösteriyorsanız, güvenlik duvarı kurallarının uygulanmayacağından emin olun. Yine sunucuda:

$ sudo iptables -L | grep ssh
DROP       tcp  --  anywhere             anywhere            tcp dpt:ssh 

Veya dönüşümlü olarak

$ sudo ufw verbose
Status: active

To                         Action      From
--                         ------      ----
22                         DENY        Anywhere
22/tcp                     DENY        Anywhere

Yukarıdakilerden birine benzer bir kural görürseniz, bunu düzeltmeniz gerekir.

Herhangi bir güvenlik duvarı kuralını görmüyorsanız ve sunucuda çalışan hizmeti görüyorsanız, iş istasyonunuzu ve bağlı olduğu ağı kontrol etme zamanı gelmiştir. Diğer sunuculara bağlanabilir misiniz? Kendi arayüzünüzü veya geridönüş adresinizi pingleyebilir misiniz? Vb.


1
ve diğer sunuculara bağlanabiliyorsanız?
opensourcechris

2
Hey cevap için teşekkürler, benim limanım 22, onun 2222 değil. Sen dedin, düzelt, ama nasıl?
Yogesh Darji

Mine sonuç vermedi.
SDsolar

ile düzeltmek: sudo ufw allow 22(veya liman ne olursa olsun)
John D

netstat kullanımdan kaldırılmıştır (Ubuntu - Command 'netstat' komutunun daha yeni sürümlerinde varsayılan olarak yüklenmez, ancak ... ile yüklenebilir ). Belki iproute2 için güncelleme ?
Peter Mortensen

14

Bunu dene

sudo apt-get remove openssh-client openssh-server

ve sonra

sudo apt-get install openssh-client openssh-server

benim için çalıştı :)

Muhtemelen en ortodoks çözüm değil ... :)


3
Dpkg-reconfigure kullanmak, kaldırma / yeniden yükleme çözümü yerine kullanmak daha kolay olacaktır
Stephen Michael Kellat

1
Çalışması için apt-get purge openssh-server (kaldır) yerine kullanmak zorunda kaldım.
11101101b

6

Raspbian'ı yükledikten sonra da aynı sorunla karşılaştım. Benim için işe yarayan çözüm:

sudo apt-get purge openssh-server
sudo apt-get install openssh-server

Bu işe yaradıysa, sshd-config'inizi daha önce değiştirmiş olmalısınız.
guntbert

Ssh'ı kurmaya çalışırken Raspbian'da sshd_config yazdım. Bu çözüm benim için çalıştı.
Scott

+1. İşe yarayan tek çözüm!
Nadav B

1

Aşağıdaki komutlar benim için çalıştı:

cd /root/.ssh
vi known_hosts

Şimdi bu dosyadaki her şeyi silin ve terminale girin:

service sshd restart

Kaynak: SSH - Bağlantı Reddedildi


benim için benzer bir problem oldu, fakat onunla tanıştığım ssh-keygen -f "/home/MYUSER/.ssh/known_hosts" -R MYHOSTlinux kullanıcısı ve uzaktaki ana bilgisayarımın yerini alarak, bilinen_toplarımdakileri temizledim
Chris

1

Bu sizin için de düzeltebilir. Bağlantı noktası 22'yi giden IP adresinizden aynı bağlantı noktasındaki yerel IP adresinize yönlendirmeyi deneyin. Uzaktaki ubuntu bilgisayarına girmeme izin vermek için çalıştı.


0

Benim durumumda statik IP yanlıştı. Yaparak öğrendim ping <my_ip>sunucunun geçtikten sonra. Sunucu kapalıyken bile pinglemeye devam ediyordu. IP’yi değiştirmek sorunu çözdü.

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.