host localhost port 22'ye bağlan: Bağlantı reddedildi


90

Yerel makineme hadoop kurarken aşağıdaki hatayı aldım

ssh -vvv localhost 
OpenSSH_5.5p1, OpenSSL 1.0.0e-fips 6 Sep 2011 
debug1: Reading configuration data /etc/ssh/ssh_config    
debug1: Applying options for * 
debug2: ssh_connect: needpriv 0 
debug1: Connecting to localhost [127.0.0.1] port 22. 
debug1: connect to address 127.0.0.1 port 22: Connection refused 
ssh: connect to host localhost port 22: Connection refused

Port numarasını değiştirmektense biri bu hatayı çözmeme yardımcı olabilir mi?

Yanıtlar:


118

Hadoop'u Mac OSX'e yüklerseniz, Sistem Tercihleri altında Uzaktan Oturum Açmayı ve ardından Dosya Paylaşımı'nı açtığınızdan emin olun . Bu benim makinemde çalıştı.

Uzaktan oturum açma


2
Bilginize, bu hatayı genel olarak (gelecekteki kullanıcılar için) çözmek için benim için çalıştı, görünüşe göre özellikle Hadoop ile ilgisi yok. Teşekkürler!
joedragons

89
  1. SSH'yi aşağıdaki komutla kaldırın:

    sudo apt-get remove openssh-client openssh-server
    
  2. SSH'yi tekrar kurun:

    sudo apt-get install openssh-client openssh-server
    

Sorununuzu çözecektir.


3
Cevap garip gelse de 22 numaralı bağlantı noktasında bile mükemmel çalışıyor.
user1613360

2
Bunun nedeninin daha önce düzgün bir şekilde kurulmamış olduğunu düşünüyorum
Divyang Shah

1
Cazibe gibi çalış :)
Ashis Parajuli

1
@patrick, kısmen eklenmesi veya tutarlı bir aşamada olmaması durumunda kaldırma işlemi gereklidir.
Divyang Şah

1
Bu çok saçma - 4 saat sonra yeniden yüklenmesi gerekiyordu. Bir makale yazacağım.
Leafyshark

33

Eğer var mı sshdyüklü? Bunu şununla doğrulayabilirsiniz:

which ssh
which sshd

Ayrıntılı bilgi için bu bağlantıyı ziyaret edebilirsiniz .


1
sudo apt-get install openssh-server komutu vermeyi denedim, hduser için şifre sormaya başladı, burada kullanıcı için herhangi bir şifre oluşturmadım, varsayılan şifreyi nasıl bilebilirim
Surya

hangi ssh, hangi sshd yoruldum, bu bana '/ usr / bin / ssh' dahili yolunu veriyor, onlar zaten makineme yüklenmişler
Surya

3
ssh istemcidir ve sshd sunucudur. sshdKullanımı yüklemek için sudo apt-get install openssh-server. İçin kullanıcı hesabı hduseroluşturduğunuzda, bir şifre oluşturmuş olmanız gerekir. Boş parola hduserile localhost'ta hesaptan kendisine parolasız ssh için ayarlamış olabileceğinizi karıştırmayın .
Arun

23

SSH paket paketinin tamamını yüklemeyi deneyin:

sudo apt-get install ssh

sshUbuntu'mda komutum vardı ama sizin gibi hatayı aldım. Tam kurulumdan sonra her şey çözüldü.


1
Bu benim için çözdü, tam olarak benim durumumdu (ayrıca kutudan çıkardığım sshd'yi kurdum ve çalıştırdım). Ubuntu 19.04'te.
Jonathan Hartley

12

Bu bağlantı noktasının açık olup olmadığını kontrol edin. Belki SSH iblisiniz çalışmıyordur. Sshd'nin çalışıp çalışmadığına bakın. Değilse, başlayın.


sudo apt-get install openssh-server komutu vermeyi denedim, hduser için şifre sormaya başladı, kullanıcı için herhangi bir şifre oluşturmadım, hduser için varsayılan şifreyi nasıl bilebilirim
Surya

1
Hayır, yüklediğiniz linux sisteminin root / sudo kullanıcısı için şifre soruyor.
abhinav

[root @ localhost .ssh] # hangi ssh / usr / bin / ssh [root @ localhost .ssh] # hangi sshd / usr / sbin / sshd, ssh makinemde zaten yüklü
Surya

1
sonra sshd demon /bin/etc/init.d sshd start
abhinav'ı

sshd yeniden yürütme, mutlak bir yoldan yürütme gerektirir, bu, yoldan gelen mesajdır
Surya

10

Yukarıdaki tüm önerileri yaptım ve işe yaramadı. Sonra ssh servisini yeniden başlatıyorum ve çalışıyor. Bu benim işim:

service ssh restart

Sonra yeniden yapıyorum

ssh localhost

Artık yerel ana makineme bağlanabilirim. Umarım yardımcı olur


6

/Etc/hosts.allow dosyasının şunları içerdiğinden emin olun:

ssh:ALL:allow
sshd:ALL:allow

VEYA

ssh:localhost:allow
sshd:localhost:allow

VEYA - başka bir değişken

ssh:{host1,host2,host3...}:allow
sshd{host1,host2,host3...}:allow

Dosyadaki ilk satırın TÜMÜ: TÜMÜ: DENY ile BAŞLAMADIĞINDAN EMİN OLUN

HİÇBİR ŞEY, ana bilgisayarla herhangi bir bağlantı noktasından iletişim kuramaz.


Mükemmel cevap!
Kanuj Bhatnagar

6

Kullandım:

sudo service ssh start

Sonra:

ssh localhost

6

Hizmeti yeniden başlatırsanız çalışacaktır

$ service sshd restart

sonra kontrol et

$ ssh localhost

Çalışacak


6

Mac kullanıyorum, bu benim için çalıştı:

Sistem Tercihlerini açın, ardından 'paylaşım' araması yapın.

Uzaktan Oturum Açmayı seçin, açık olduğundan emin olun ve gerekli kullanıcıları eklemeyi unutmayın.görüntü açıklamasını buraya girin

Buradan aldım


4

Benim durumum için (ubuntu 14.04, yeni kurulmuş), sadece aşağıdaki komutu çalıştırıyorum ve çalışıyor!

sudo apt-get install ssh


4

Değeri ne olursa olsun, yerel makineme ssh yapmaya çalışırken, Ubuntu 16.04 Xenial'i bir vm'den çalıştıran aşağıdaki hatayı aldım.

 ssh: connect to host 192.168.144.18 port 22: Connection refused

Hemen şu şekilde düzeltildi:

sudo apt-get install ssh

Dikkat edin, Düzeltmeden önce: 'hangi sshd' hiçbir şey döndürmedi ve 'hangi ssh' döndü

/usr/bin/ssh

Ve düzeltmeden sonra: 'hangi sshd' döndü

/usr/sbin/sshd

3

Aşağıdakilerden bazıları buna neden olabilir:

  1. SSH Sunucusu kurulu değil (yalnızca SSH İstemcisi), şunu deneyin: apt-get install ssh openssh-client openssh-server
  2. Bağlantı iptables (Güvenlik Duvarı) tarafından engellendi, şunu deneyin: ufw allow ssh

varsayılan olarak ssh güvenlik duvarında engellenir, openssh etkinken kurulum yapılırken bile
DoctorPangloss

3

Mac'te sistem ayarları-> ağ-> paylaşıma gidin ve uzaktan oturum açmaya izin verin.

ssh localhost'u deneyin

İyi olmalısın.


3

Benim için işe yarayan şey:

sudo mkdir /var/run/sshd
sudo apt-get install --reinstall openssh-server

Yukarıda belirtilen tüm çözümleri denedim ama bir şekilde bu / var / run / sshd dizini benim için hala eksikti. Ubuntu 16.04.4 LTS'ye sahibim. Umarım cevabım, birinin aynı sorunu yaşarsa yardımcı olur.


2
  1. Herhangi bir şey kurmadan / yeniden kurmadan önce sshd'nin durumunu kontrol edin. . .
sudo systemctl status sshd
  1. Gibi bir şey görmelisin. . .
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; vendor prese>
   Active: inactive (dead)
     Docs: man:sshd(8)
           man:sshd_config(5)
  1. Sadece sshd'yi etkinleştirin ve başlatın
sudo systemctl enable sshd
sudo systemctl start sshd

ubuntu'da: bu çalışacak: systemctl enable ssh.service
Krishna Kumar Singh

1

Bağlantı noktası numaram farklı. kullanmayı denedim

ssh localhost -p 8088

bu benim için çalıştı


1

Hala sorunlarla karşılaşırsanız, aşağıdakileri deneyin:

sudo ufw enable    
sudo apt-get install openssh-server

Bu da işe yarayabilir.



1

Bunu yapmanın bir yolu terminale gitmektir

$ sudo gedit /etc/hosts

***enter your ip address ipaddress of your pc  localhost 
    ipaddress of your pc  localhost(Edit your pc name with localhost) **

ve ssh hizmetinizi kullanarak yeniden başlatın:

$ service ssh restart

Sorun çözülecek. Teşekkürler


1

centOS veya Red Hat kullanıyorsanız, önce SElinux'u güncellemelisiniz. Aşağıdaki ifadeyi yürütün

ausearch -c 'sshd' --raw | audit2allow -M my-sshd

o zaman yürütmen gerek

semodule -i my-sshd.pp

iyi şanslar


1

Ssh yüklediğinizden eminseniz, bu mümkündür sshve / veya sshdsonlandırılmıştır veya sunucu hizmeti başlatılmamıştır. Bu işlemlerin çalışıp çalışmadığını kontrol etmek için şunu kullanın:

//this tells you whether your ssh instance is active/inactive
sudo service ssh status

VEYA

//this list all running processes whose names contain the string "ssh"
sudo ps -A | grep ssh

Muhtemelen sshaktif ve çalışır durumda olur ama sshdolmaz. Bunları etkinleştirmek için:

sudo service ssh start

NB; - bazı sistemlerin yeniden başlatma seçeneği var ama benimki yok


1

Deneyin sudo vi /etc/ssh/sshd_config

ilk birkaç yalanda bulacaksın

Paket tarafından oluşturulan yapılandırma dosyası

Ayrıntılar için sshd_config (5) kılavuz sayfasına bakın

Hangi bağlantı noktalarını, IP'leri ve protokolleri dinliyoruz

Bağlantı noktası xxxxx

xxxxx Bağlantı Noktasını "Bağlantı Noktası 22" olarak değiştirin ve değişiklikleri kaydederek vi'den çıkın.

ssh'yi yeniden başlat sudo service ssh restart


0

Düzenlemelisiniz /etc/hosts. Örneğin, benim hostnameise ub0, ancak hostnamegiriş /etc/hostsise localhostgerçekleşebilir

connect to host ub0 port 22: Connection refused

Çünkü hostnameiçinde /etc/hostsolduğu localhostdeğil ub0.

Bu nedenle, hostnamedağıtılmış kümeler oluştururken dikkatli olmalısınız .


0

Linux için:

  1. SSH'yi aşağıdaki komutla kaldırın:

    sudo apt-get remove openssh-client openssh-server
    
  2. SSH'yi tekrar kurun:

    sudo apt-get install openssh-client openssh-server
    

0

sshd_config ListenAddress 0.0.0.0'daki yapılandırmayı kontrol etmeniz ve bunu güncellemeniz ve sorunu çözecek sshd hizmetini yeniden başlatmanız gerekir.



0

Port numarası için / etc / ssh / sshd_config dosyasını kontrol edin. 22 olduğundan emin ol.

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.