Traté de usar la autenticación de clave pública en mi nuevo servidor, y me encontré con este problema.
$ ssh -v -i .ssh/server 192.168.1.100
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data .ssh/config
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to 192.168.1.100 [192.168.1.100] port 22.
debug1: Connection established.
debug1: identity file .ssh/server type -1
debug1: identity file .ssh/server-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p1 Debian-1ubuntu3
debug1: match: OpenSSH_5.8p1 Debian-1ubuntu3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '192.168.1.100' is known and matches the RSA host key.
debug1: Found key in .ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: .ssh/server
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: password
y luego tengo que ingresar mi contraseña para iniciar sesión.
Pero, si ya tengo una sesión conectada a ese servidor (que está conectado por contraseña), entonces la siguiente conexión usa la autenticación de clave para evitar la entrada de contraseña.
Si no hay una conexión SSH ya establecida, no puedo conectarme sin ingresar la contraseña.
Esto es realmente extraño para mí, revisé el MD5 /usr/sbin/sshd
entre el nuevo servidor y el otro servidor normal, es lo mismo. Luego simplemente copié el /etc/ssh/sshd_config
del otro servidor normal al nuevo servidor y corrí service ssh restart
. El problema aún existe.
¿Cómo se supone que voy a arreglar esto?
id_rsa.pub
Arreglé mi propio caso de este error al eliminarlo de .ssh.Copié
id_rsa
de otra máquina y la distribuí entre varios clientes ficticios. Por lo tanto,id_rsa
y enid_rsa.pub
realidad eran claves diferentes que impedían el uso de porid_rsa
completo.Sin embargo, no hay mensaje de error para indicar esto claramente Lo descubrí esencialmente por accidente, tratando de poner las diferentes máquinas en un estado idéntico.
fuente
Según mi hallazgo, el menor permiso del director del hogar del objetivo es
750
. Si el mundo no lo es0
, no funcionará.P.ej. para el directorio raíz:
El siguiente es
/root/.ssh
Luego
/root/.ssh/authorized_keys
fuente
En mi caso, los permisos en el directorio de inicio eran en
775
lugar de0755
o inferiores.La ruta completa al archivo autorizado_claves, es decir,
/home/user/.ssh/
debe ser0755
o menor.fuente
Después de preocuparme mucho, obtuve la solución del problema:
El directorio de inicio del usuario no debe tener permiso
777
ni escritura mundial. Si es el caso, la verificación de la clave SSH fallará y deberá ingresar una contraseña para iniciar sesión.fuente
Solo asegúrate de que la cuenta a la que intentas enviar ssh sea un usuario con una contraseña en el servidor remoto. Me golpeé la cabeza contra la pared durante media hora antes de encontrar esta respuesta aquí: /programming//a/14421105/758174
fuente
Si
/etc/ssh/sshd_config
tiene la siguiente línea sin comentarios, entonces su configuración SSH solo permite que una lista fija de usuarios ingrese al sistema, y debe agregar cualquier cuenta nueva a la lista:Cualquier otro usuario que no sea el mencionado anteriormente que intente iniciar sesión a través de SSH recibiría estos mensajes de error crípticos:
fuente
Descubrí que después de cambiar mi nombre de usuario y grupo (pero no ID)
/etc/passwd
y/etc/group
, pero olvidando cambiar en/etc/shadow
consecuencia, recibí el mismo mensaje "No se permite roaming".fuente