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?

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


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.


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 .


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ó.


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.


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


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.


¡Respuesta perfecta!
Kanuj Bhatnagar

5

Si reinicia el servicio, funcionará

$ service sshd restart

Entonces revisa

$ ssh localhost

Funcionará


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


4

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

sudo apt-get install ssh


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

4

Solía:

sudo service ssh start

Entonces:

ssh localhost

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

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.


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.


1

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

ssh localhost -p 8088

esto funcionó para mí


1

Si aún tiene problemas, intente lo siguiente:

sudo ufw enable    
sudo apt-get install openssh-server

Esto también podría funcionar.



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


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


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


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


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

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.


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
    

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.



0

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.