
Hace un par de horas cambié la dirección IP de mi PC con Windows y mi Raspberry Pi. Hasta entonces podía conectarme al Pi a través de SSH sin ningún problema. Ahora, cuando intento conectarme, aparece el mensaje de error de que alguien está intentando "algo desagradable" y que debo comunicarme con mi administrador de red.
Así que hice una copia de seguridad de mi archivo "hosts conocidos" y creé uno vacío. Cuando me conecto ahora a través de SSH a través de Windows-Terminal, obtengo el siguiente resultado:
No tengo idea de qué se supone que esto me dice, ni qué debo hacer. Ya mostré el Pi, pero fue en vano. No importa si reinicio la configuración de red de mi PC o del Pi o de ambos en la configuración del enrutador, los mensajes de error siguen siendo los mismos.
Respuesta1
El mensaje
alguien está intentando "algo desagradable"
es el resultado de cambiar la IP del servidor.
Esto suele aparecer cuando el usuario known_hosts
en el cliente tiene información sobre el servidor, pero partes de la información almacenada difieren de los parámetros de conexión actuales (es decir, otra IP por la misma clave de host o viceversa) que identifican al servidor.
Creo que su nombre de host atenuado no es un nombre de host sino una dirección IP. Cambiar la IP del servidor activó el mensaje. Usar un nombre de host habría evitado esto.
(Para saber si estás usando una IP o un nombre de host es relevante, por lo que es preferible sustituir la información en lugar de eliminarla por motivos de privacidad)
Al eliminar el known_hosts
archivo original, este error debería haber desaparecido y reemplazado por el mensaje de "primer contacto", solicitando agregar la nueva clave de host a known_hosts
.
=> Esto no es parte de su problema de inicio de sesión actual.
El problema de inicio de sesión
El registro de depuración dice:
- estás en un cliente de Windows que usa OpenSSH_for_Windows_8.1p1
- Los métodos de autenticación permitidos son
publickey
ypassword
- Su cliente ha almacenado varias identificaciones que podrían usarse para iniciar sesión mediante "autenticación de clave pública" (lo que se está intentando),
pero la cuenta en el servidor no tiene acceso a al menos una de las identificaciones disponibles/root/.ssh/authorized_keys
y las cinco solicitudes fallan. .
=> O nunca ha utilizado este método de autenticación o al volver a actualizar su servidor Pi eliminó un archivo ya presente/root/.ssh/authorized_keys
, eliminando su posibilidad de utilizar este método de solicitud. - Como falla la autenticación de clave pública, SSH intenta"autenticación de contraseña", pero aparece un error:
read_passphrase: can't open /dev/tty: No such file or directory
=> Obviamente"OpenSSH para Windows"Sabe dónde generar el cuadro de diálogo de inicio de sesión y finalmente el inicio de sesión falla después de los tres intentos permitidos.
subsumirEstoy bastante seguro de la información actual en su pregunta:
Antes de tus cambios fatales te conectabas víaautenticación de clave pública.
Razón:Como no cambió la configuración relevante en el cliente y elautenticación de contraseñafalla, este problema ya debe haber estado presente antes de sus cambios fatales. Pero como usted no ha sido consciente del problema, se debe haber utilizado otra autenticación posible.
Debido a la pérdida del original /root/.ssh/authorized_keys
en el servidor, el servidor no puede autorizar su acceso víaautenticación de clave públicay todos los esfuerzos de inicio de sesión fallan.
Soluciones
- Repare el manejo de autenticación de su contraseña enOpenSSH para Windows.
Como no proporcionó ninguna información sobre cómo inicia la conexión ssh, no puede haber una respuesta adecuada.
Posiblemente utilice una herramienta GUI para conectarse. Entonces podría ser suficiente simplemente abrir una ventana de terminal e iniciar la sesión mediante la línea de comando.
=> Deberías crear una nueva pregunta con más detalles para resolver este problema en particular.
o
Restaure o vuelva a crear
root/.ssh/authorized_keys
en el servidor.
Para agregar una clave aauthorized_keys
:- Copie solo la clave pública de un par de claves presente (o recién creado) en su cliente Windows
C:\Users\???\.ssh\
a su servidor. - En el servidor agregue la clave pública a la del usuario
authorized_keys
:
cat <public_key_file> >> ~/.ssh/authorized_keys
- Pruebe el inicio de sesión
- Copie solo la clave pública de un par de claves presente (o recién creado) en su cliente Windows
Para la variante 2: si tiene dificultades para acceder físicamente a la consola local del servidor, es posible que desee descargar Live Linux e instalarlo en una memoria USB para conectarse al servidor mediante autenticación de contraseña para volver a aplicar la clave pública.
Tenga en cuenta: comosabuesoya mencionado usando el usuarioraízpara una conexión remota es una mala idea. Es mejor que tome un usuario normal y lo utilice sudo
para obtener privilegios de root.
Respuesta2
Encontré el problema. No es sorprendente que fuera algo que hice.
El mensaje de error con todos los símbolos "@" que me indica que alguien está intentando "algo desagradable" fue bastante claro y también borró el contenido del archivo "known_hosts". Pero luego cometí el error al intentar iniciar sesión con "root", lo que aparentemente está deshabilitado. También me acabo de dar cuenta de que no puedes iniciar sesión con un nombre de usuario en minúsculas después del primer procedimiento de arranque.
Iniciar sesión con el usuario "test" y la contraseña "test" no funcionó, pero iniciar sesión con el usuario "Test" y la contraseña "test" sí.
Entonces supongo que aprendí algo nuevo.