conectarse al puerto de host localhost 22: Conexión rechazada

86

Mientras instalaba hadoop en mi máquina local, recibí el siguiente error

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

¿Alguien puede ayudarme a resolver este error, que cambiar el número de puerto?

Surya
fuente

Respuestas:

116

Si instala Hadoop en Mac OSX, asegúrese de activar Inicio de sesión remoto en Preferencias del sistema y luego Compartir archivos . Esto funcionó en mi máquina.

Inicio de sesión remoto

vladof81
fuente
2
Para su información, esto funcionó para mí para resolver este error en general (para futuros usuarios) aparentemente no tiene nada que ver específicamente con Hadoop. ¡Gracias!
joedragons
83
  1. Elimine SSH con el siguiente comando:

    sudo apt-get remove openssh-client openssh-server
    
  2. Instale SSH nuevamente con:

    sudo apt-get install openssh-client openssh-server
    

Resolverá tu problema.

Divyang Shah
fuente
2
Aunque la respuesta suena extraña, funciona perfectamente incluso en el puerto 22.
user1613360
¿Por qué sería necesario eliminarlo? Si estuviera allí, el problema no existiría.
Marqués de Lorne
2
Creo que la razón es que no se instaló correctamente antes
Divyang Shah
1
Trabaja como un encanto :)
Ashis Parajuli
1
@patrick, el proceso de eliminación es necesario en caso de que se agregue parcialmente o no en una etapa consistente.
Divyang Shah
32

¿Tienes sshdinstalado? Puedes verificar eso con:

which ssh
which sshd

Para obtener información detallada, puede visitar este enlace .

Tariq
fuente
1
Intenté dar el comando sudo apt-get install openssh-server, comenzó a pedir la contraseña para hduser, donde no creé ninguna contraseña para el usuario, ¿cómo puedo saber la contraseña predeterminada?
Surya
estoy cansado de cuál ssh, cuál sshd, esto me da la ruta interna '/ usr / bin / ssh', ya están instalados en mi máquina
Surya
3
ssh es el cliente y sshd es el servidor. Para instalar sshduse sudo apt-get install openssh-server. Cuando creó la cuenta de usuario para hduser, debe haber creado una contraseña. No confunda eso con la frase de contraseña vacía que podría haber configurado para ssh sin contraseña desde la hdusercuenta a sí misma en localhost.
Arun
23

Intente instalar el paquete completo de SSH:

sudo apt-get install ssh

Tenía el sshcomando en mi Ubuntu pero obtuve el error como tú. Después de la instalación completa, todo se resolvió.

Michael Z
fuente
1
Esto lo resolvió para mí, era exactamente mi situación (también ya tenía sshd instalado y funcionando, listo para usar). En Ubuntu 19.04.
Jonathan Hartley
11

Compruebe si este puerto está abierto. Quizás tu demonio SSH no se esté ejecutando. Vea si sshd se está ejecutando. Si no es así, inícielo.

abhinav
fuente
Intenté dar el comando sudo apt-get install openssh-server, comenzó a pedir la contraseña para hduser, donde no creé ninguna contraseña para el usuario, ¿cómo puedo saber la contraseña predeterminada para hduser?
Surya
1
No, está pidiendo la contraseña del usuario root / sudo del sistema Linux donde está instalando.
abhinav
[root @ localhost .ssh] # cuál ssh / usr / bin / ssh [root @ localhost .ssh] # cuál sshd / usr / sbin / sshd, ssh ya está instalado en mi máquina
Surya
1
luego ejecute el demonio sshd /bin/etc/init.d sshd start
abhinav
sshd re-exec requiere ejecución con una ruta absoluta, este es un mensaje de la ruta
Surya
10

Hice toda la sugerencia anterior y no funcionó. Luego reinicio el servicio ssh y funciona. Esto es lo que hago:

service ssh restart

Entonces rehago

ssh localhost

Ahora puedo conectarme a mi localhost. Espero eso ayude

Arwan Khoiruddin
fuente
6

Asegúrese de que /etc/hosts.allow contenga:

ssh:ALL:allow
sshd:ALL:allow

O

ssh:localhost:allow
sshd:localhost:allow

O - alguna otra variante

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

ASEGÚRESE de que la primera línea del archivo NO comience con ALL: ALL: DENY

NADA podrá comunicarse con el host ... en cualquier puerto.

Larry Helms
fuente
¡Respuesta perfecta!
Kanuj Bhatnagar
5

Si reinicia el servicio, funcionará

$ service sshd restart

Entonces revisa

$ ssh localhost

Funcionará

Rushikesh
fuente
5

Yo uso una Mac, esto funcionó para mí:

Abra Preferencias del sistema, luego busque 'compartir'.

Elija Inicio de sesión remoto, asegúrese de que esté activado y recuerde agregar los usuarios requeridos.ingrese la descripción de la imagen aquí

Lo tengo de aqui

Dami
fuente
4

Para mi caso (ubuntu 14.04, recién instalado), ¡simplemente ejecuto el siguiente comando y funciona!

sudo apt-get install ssh

Fan de Shiqing
fuente
4

Por lo que vale, obtuve el siguiente error al intentar ssh en mi máquina local, ejecutando Ubuntu 16.04 Xenial, desde una vm.

 ssh: connect to host 192.168.144.18 port 22: Connection refused

Se solucionó de inmediato con:

sudo apt-get install ssh

Tome nota, antes de corregir: 'qué sshd' no devolvió nada y 'qué ssh' devolvió

/usr/bin/ssh

Y después de la corrección: 'which sshd' regresó

/usr/sbin/sshd
IskandarG
fuente
4

Solía:

sudo service ssh start

Entonces:

ssh localhost
Linh
fuente
3

Puede ser causado por algunos de los siguientes:

  1. El servidor SSH no está instalado (solo el cliente SSH), intente: apt-get install ssh openssh-client openssh-server
  2. La conexión está bloqueada por iptables (Firewall), intente: ufw allow ssh
Damian1baran
fuente
de forma predeterminada, ssh está bloqueado en el firewall, incluso cuando se instala con openssh habilitado
DoctorPangloss
3

En mac, vaya a configuración del sistema-> red-> compartir y permita el inicio de sesión remoto.

prueba ssh localhost

Deberías estar bien.

usuario2498105
fuente
3

Lo que funcionó para mí es:

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

Probé todas las soluciones mencionadas anteriormente, pero de alguna manera este directorio / var / run / sshd todavía me faltaba. Tengo Ubuntu 16.04.4 LTS. Espero que mi respuesta ayude si alguien tiene el mismo problema.

Frida Schenker
fuente
1

Mi número de puerto es diferente. intenté usar

ssh localhost -p 8088

esto funcionó para mí

Surya
fuente
1

Si aún tiene problemas, intente lo siguiente:

sudo ufw enable    
sudo apt-get install openssh-server

Esto también podría funcionar.

Dinesh
fuente
1

En realidad, resolví esto, acabo de instalar shh daemon.

en terminal:

sudo apt-get install openssh-server

Aprendizaje del usuario
fuente
1

Una forma de hacerlo es ir a la terminal

$ sudo gedit /etc/hosts

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

y reinicie nuevamente su servicio ssh usando:

$ service ssh restart

El problema se resolverá. Gracias

Sanyog Tiwari
fuente
1

Si está utilizando centOS o Red Hat, primero debe actualizar SElinux. Ejecute la siguiente declaración

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

entonces necesitas ejecutar

semodule -i my-sshd.pp

buena suerte

Berk CELEBI
fuente
1

Si está seguro de que ha instalado ssh, entonces es posible que sshy / o sshdhaya terminado o que el servicio del servidor no se haya iniciado. Para comprobar si estos procesos se están ejecutando, utilice:

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

O

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

Es probable que sshesté activo y funcionando, pero sshdno lo estaría. Para habilitarlos:

sudo service ssh start

NÓTESE BIEN; - algunos sistemas tienen una opción de reinicio, pero el mío no

Kwaku Sarpong Manu
fuente
1

tratar sudo vi /etc/ssh/sshd_config

en las primeras mentiras encontrarás

Archivo de configuración generado por paquete

Consulte la página de manual de sshd_config (5) para obtener más detalles

Qué puertos, IP y protocolos escuchamos

Puerto xxxxx

cambie el Puerto xxxxx a "Puerto 22" y salga de vi guardando los cambios.

reiniciar ssh sudo service ssh restart

Himanshu Singh
fuente
1
  1. Antes de instalar / reinstalar algo, verifique el estado de sshd. . .
sudo systemctl status sshd
  1. Deberías ver algo como. . .
● 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. Solo habilita e inicia sshd
sudo systemctl enable sshd
sudo systemctl start sshd
0p3r4t0r
fuente
0

Puede que deba editar su /etc/hosts. Por ejemplo, si mi hostnamees ub0, pero el hostnameen /etc/hostses localhost, puede ocurrir

connect to host ub0 port 22: Connection refused

Porque el hostnamein no lo /etc/hostses .localhostub0

Por lo tanto, debe tener cuidado hostnameal crear clústeres distribuidos.

GoingMyWay
fuente
0

Para Linux:

  1. Elimine SSH con el siguiente comando:

    sudo apt-get remove openssh-client openssh-server
    
  2. Instale SSH nuevamente con:

    sudo apt-get install openssh-client openssh-server
    
Nehal Pawar
fuente
0

debe verificar la configuración en sshd_config ListenAddress 0.0.0.0 actualizar esto y reiniciar el servicio sshd que resolverá el problema.

Rupeshrams
fuente
0

Verifique el archivo / etc / ssh / sshd_config para el número de puerto. Asegúrate de que sea 22.

Madushan
fuente