połączyć się z hostem localhost port 22: odmowa połączenia

86

Podczas instalowania Hadoopa na moim komputerze lokalnym otrzymałem następujący błąd

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

czy ktoś może mi pomóc rozwiązać ten błąd, niż zmiana numeru portu

Surya
źródło

Odpowiedzi:

116

Jeśli instalujesz Hadoop w systemie Mac OSX, włącz zdalne logowanie w Preferencjach systemowych, a następnie Udostępnianie plików . To działało na mojej maszynie.

Logowanie zdalne

vladof81
źródło
2
FYI, to zadziałało, aby rozwiązać ten błąd w genralu (dla przyszłych użytkowników), który najwyraźniej nie ma nic wspólnego z Hadoop. Dzięki!
joedragons
83
  1. Usuń SSH za pomocą następującego polecenia:

    sudo apt-get remove openssh-client openssh-server
    
  2. Zainstaluj ponownie SSH za pomocą:

    sudo apt-get install openssh-client openssh-server
    

To rozwiąże twój problem.

Divyang Shah
źródło
2
Chociaż odpowiedź brzmi dziwnie, działa idealnie nawet na porcie 22.
user1613360
Dlaczego trzeba go usunąć? Gdyby tak było, problem nie istniałby.
Markiz Lorne
2
Myślę, że powodem jest to, że wcześniej nie był prawidłowo zainstalowany
Divyang Shah
1
Pracuj jak marzenie :)
Ashis Parajuli
1
@patrick proces usuwania jest potrzebny w przypadku, gdy został częściowo dodany lub nie jest spójny.
Divyang Shah
32

Czy masz sshdzainstalowany? Możesz to sprawdzić za pomocą:

which ssh
which sshd

Szczegółowe informacje można znaleźć pod tym linkiem .

Tariq
źródło
1
Próbowałem wydać polecenie sudo apt-get install openssh-server, zaczęło pytać o hasło dla hduser, gdzie nie utworzyłem żadnego hasła dla użytkownika, jak mogę poznać domyślne hasło
Surya
zmęczyłem który ssh, który sshd, to daje mi wewnętrzną ścieżkę '/ usr / bin / ssh', są już zainstalowane w moim komputerze
Surya
3
ssh to klient, a sshd to serwer. Aby zainstalować sshdużyj sudo apt-get install openssh-server. Podczas tworzenia konta użytkownika dla hduser, musisz mieć utworzone hasło. Nie myl tego z pustym hasłem, które mogłeś ustawić dla ssh bez hasła z hduserkonta na hoście lokalnym.
Arun
23

Spróbuj zainstalować cały pakiet pakietów SSH:

sudo apt-get install ssh

Miałem sshpolecenie na moim Ubuntu, ale otrzymałem błąd, tak jak masz. Po pełnej instalacji wszystko zostało rozwiązane.

Michael Z
źródło
1
To rozwiązało to dla mnie, była dokładnie moja sytuacja (miałem już zainstalowany i uruchomiony sshd, po wyjęciu z pudełka). W Ubuntu 19.04.
Jonathan Hartley
11

Sprawdź, czy ten port jest otwarty. Może twój demon SSH nie działa. Sprawdź, czy sshd działa. Jeśli nie, to zacznij.

abhinav
źródło
Próbowałem wydać polecenie sudo apt-get install openssh-server, zaczęło pytać o hasło dla hduser, gdzie nie utworzyłem żadnego hasła dla użytkownika, jak mogę poznać domyślne hasło dla hduser
Surya
1
Nie, prosi o hasło użytkownika root / sudo systemu linux, na którym instalujesz.
abhinav
[root @ localhost .ssh] # który ssh / usr / bin / ssh [root @ localhost .ssh] # który sshd / usr / sbin / sshd, ssh jest już zainstalowany na moim komputerze
Surya,
1
następnie uruchom demon sshd /bin/etc/init.d sshd start
abhinav
sshd re-exec wymaga wykonania z bezwzględną ścieżką, to jest wiadomość ze ścieżki
Surya,
10

Zrobiłem wszystkie powyższe sugestie i nie zadziałało. Następnie restartuję usługę ssh i działa. To jest to, co robie:

service ssh restart

Potem powtarzam

ssh localhost

Teraz mogę połączyć się z moim lokalnym hostem. Mam nadzieję, że to pomoże

Arwan Khoiruddin
źródło
6

Upewnij się, że /etc/hosts.allow zawiera:

ssh:ALL:allow
sshd:ALL:allow

LUB

ssh:localhost:allow
sshd:localhost:allow

LUB - inny wariant

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

UPEWNIJ SIĘ, że pierwsza linia w pliku NIE zaczyna się od tekstu ALL: ALL: DENY

NIC nie będzie w stanie komunikować się z hostem ... na dowolnym porcie.

Larry Helms
źródło
Doskonała odpowiedź!
Kanuj Bhatnagar
5

Jeśli zrestartujesz usługę, to zadziała

$ service sshd restart

następnie sprawdź

$ ssh localhost

To będzie działać

Rushikesh
źródło
5

Używam komputera Mac, to działało dla mnie:

Otwórz Preferencje systemowe, a następnie wyszukaj „udostępnianie”.

Wybierz zdalne logowanie, upewnij się, że jest włączone i pamiętaj o dodaniu wymaganych użytkowników.wprowadź opis obrazu tutaj

Mam to stąd

Dami
źródło
4

W moim przypadku (ubuntu 14.04, świeżo zainstalowany) po prostu uruchamiam następujące polecenie i działa!

sudo apt-get install ssh

Shiqing Fan
źródło
4

Na ile jest to warte, otrzymałem następujący błąd podczas próby włożenia ssh do mojej lokalnej maszyny z systemem Ubuntu 16.04 Xenial z maszyny wirtualnej.

 ssh: connect to host 192.168.144.18 port 22: Connection refused

Zostało to natychmiast naprawione przez:

sudo apt-get install ssh

Zwróć uwagę, przed naprawą: „który sshd” nic nie zwrócił, a „który ssh” zwrócił

/usr/bin/ssh

A po poprawce: „który sshd” powrócił

/usr/sbin/sshd
IskandarG
źródło
4

Użyłem:

sudo service ssh start

Następnie:

ssh localhost
Linh
źródło
3

Może to być spowodowane niektórymi z poniższych:

  1. Serwer SSH nie jest zainstalowany (tylko klient SSH), spróbuj: apt-get install ssh openssh-client openssh-server
  2. Połączenie jest blokowane przez iptables (Firewall), spróbuj: ufw allow ssh
damian1baran
źródło
domyślnie ssh jest blokowany na zaporze, nawet podczas instalacji z włączoną
opcją
3

Na Macu przejdź do ustawień systemowych-> sieć-> udostępnianie i zezwól na zdalne logowanie.

spróbuj ssh localhost

Powinnaś być dobra.

user2498105
źródło
3

Dla mnie zadziałało:

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

Wypróbowałem wszystkie powyższe rozwiązania, ale w jakiś sposób brakowało mi tego katalogu / var / run / sshd. Mam Ubuntu 16.04.4 LTS. Mam nadzieję, że moja odpowiedź pomoże, jeśli ktoś ma ten sam problem.

Frida Schenker
źródło
1

Mój numer portu jest inny. próbowałem użyć

ssh localhost -p 8088

to działało dla mnie

Surya
źródło
1

Jeśli nadal masz problemy, wypróbuj następujące rozwiązania:

sudo ufw enable    
sudo apt-get install openssh-server

To też może zadziałać.

Dinesh
źródło
1

Właściwie to rozwiązałem, właśnie zainstalowałem demona shh.

w terminalu:

sudo apt-get install openssh-server

Nauka użytkownika
źródło
1

Najlepszym sposobem jest udanie się do terminala

$ sudo gedit /etc/hosts

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

i ponownie uruchom usługę ssh za pomocą:

$ service ssh restart

Problem zostanie rozwiązany. Dzięki

Sanyog Tiwari
źródło
1

jeśli używasz centOS lub Red Hat, powinieneś najpierw zaktualizować SElinux. Wykonaj następującą instrukcję

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

następnie musisz wykonać

semodule -i my-sshd.pp

powodzenia

Berk CELEBI
źródło
1

Jeśli jesteś pewien, że zainstalowałeś ssh, możliwe, że sshi / lub sshdzostał zakończony lub usługa serwera nie została uruchomiona. Aby sprawdzić, czy te procesy są uruchomione, użyj:

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

LUB

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

Prawdopodobnie sshbyłby aktywny i działał, ale sshdtak się nie stało. Aby je włączyć:

sudo service ssh start

NB; - niektóre systemy mają opcję restartu, ale mój nie

Kwaku Sarpong Manu
źródło
1

próbować sudo vi /etc/ssh/sshd_config

w pierwszych kilku kłamstwach, które znajdziesz

Plik konfiguracyjny wygenerowany przez pakiet

Zobacz stronę podręcznika sshd_config (5) po szczegóły

Jakich portów, adresów IP i protokołów nasłuchujemy

Port xxxxx

zmień Port xxxxx na „Port 22” i wyjdź z vi, zapisując zmiany.

zrestartuj ssh sudo service ssh restart

Himanshu Singh
źródło
1
  1. Przed instalacją / ponowną instalacją sprawdź stan sshd. . .
sudo systemctl status sshd
  1. Powinieneś zobaczyć coś takiego. . .
● 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. Po prostu włącz i uruchom sshd
sudo systemctl enable sshd
sudo systemctl start sshd
0p3r4t0r
źródło
0

Możesz edytować swoje /etc/hosts. Na przykład, jeśli my hostnamejest ub0, ale hostnamein /etc/hostsjest localhost, może się to zdarzyć

connect to host ub0 port 22: Connection refused

Ponieważ hostnamew /etc/hoststo localhostnie ub0.

Dlatego hostnamepodczas tworzenia rozproszonych klastrów należy zachować ostrożność .

Idąc moją drogą
źródło
0

W systemie Linux:

  1. Usuń SSH za pomocą następującego polecenia:

    sudo apt-get remove openssh-client openssh-server
    
  2. Zainstaluj ponownie SSH za pomocą:

    sudo apt-get install openssh-client openssh-server
    
Nehal Pawar
źródło
0

musisz sprawdzić konfigurację w sshd_config ListenAddress 0.0.0.0, zaktualizuj to i ponownie uruchom usługę sshd, która rozwiąże problem.

Rupeshrams
źródło
0

Sprawdź plik / etc / ssh / sshd_config pod kątem numeru portu. Upewnij się, że jest to 22.

maduszan
źródło