Intentando ingresar a SSH en una computadora remota pero aún solicitando contraseña.
Tengo varias computadoras con SElinux y solo una de ellas me está costando mucho usar ssh sin la contraseña.
Hice un ssh-copy-id y puedo ver mi clave en .ssh / Authorized_keys.
I chmod 700 .ssh y chmod 600 todos los archivos en ./ssh/*
Si hago un ssh -v esta es mi salida:
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to wcmisdlin05 [10.52.208.224] port 22.
debug1: Connection established.
debug1: identity file /home/jsmith/.ssh/identity type -1
debug1: identity file /home/jsmith/.ssh/id_rsa type 1
debug1: identity file /home/jsmith/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3
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 'wcmisdlin05' is known and matches the RSA host key.
debug1: Found key in /home/jsmith/.ssh/known_hosts:9
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_501' not found
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_501' not found
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Next authentication method: publickey
debug1: Offering public key: /home/jsmith/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /home/jsmith/.ssh/identity
debug1: Trying private key: /home/jsmith/.ssh/id_dsa
debug1: Next authentication method: password
¿Alguien puede decirme por qué no funciona en esta computadora remota?
/var/log/secure
(si son permisos) y/var/log/messages
(si es SELinux). De lo contrario, es una discrepancia entre lo que hay~/.ssh/authorized_keys
y lo que está enviando el cliente SSH.Respuestas:
A menudo he encontrado un error similar en máquinas CentOS 6 que involucran
ssh-copy-id
y SELinux.Cuando
ssh-copy-id
crea los archivos de claves autorizados, lo crea con los permisos adecuados, pero con la etiqueta SELinux incorrecta. La solución para esto es restaurar las etiquetas a sus valores predeterminados de política utilizando este comando:restorecon -R ~/.ssh
fuente
Estas cosas siempre son mucho más fáciles de depurar desde el lado del servidor, si eso es posible. Si puede iniciar un sshd en otro puerto en modo de depuración, le dirá de inmediato por qué se rechaza la clave (mi conjetura es que su directorio de inicio se puede escribir en grupo). Puede, por ejemplo, iniciar un sshd en modo de depuración en el puerto 2222 con
/usr/sbin/sshd -d -p 2222
, luego conectarse conssh -p 2222 user@remotehost
.fuente
El póster que se refería a SElinux dio en el clavo por mi problema. No quiero usar selinux, pero olvidé desactivarlo, y el servidor apareció con selinux habilitado en el arranque.
ssh -v
La depuración ayudó. La clave es aceptada:Y luego me sale el error
Mi solución fue desactivar selinux con
setenforce 0
y luego deshabilitar / etc / selinux. Entonces, el inicio de sesión sin contraseña de ssh funcionó para mí.fuente
Experimenté esto hace algún tiempo en RHEL5 (no sé si esta es la distribución que está usando), y descubrí que fue solo cuando usé ssh-copy-id. Intente scp'ing el archivo de clave en la carpeta correcta y, por supuesto, restablecer los permisos
fuente
En mi caso, el problema estaba en un formato de
authorized_keys
archivo incorrecto .No debe haber ningún salto de línea en medio de la definición de formato (
ssh-rss
,ssh-dss
..) y de la propia clave pública.fuente
Tuve problemas anteriormente con ssh y keyfiles. En esa ocasión, me
id_rsa
ayudó cambiar el nombre de mi clave de identificación a " ". Lamentablemente tengo diferentes claves para diferentes servidores. Entonces ese enfoque tiene una utilidad limitada. Podría ayudar como algo excepcional.En segundo lugar, hoy nuevamente tengo este error en una sola sesión de XTerm, y todo funciona muy bien en otras 6 sesiones de xterm en el mismo servidor / máquina de manguera. Así que comparé mi salida de
env
ambas sesiones. Encontré que esta es la sesión de trabajo, que estuvo ausente en la sesión de no trabajo:Pegué esa tarea en la sesión que no funciona:
En otras palabras, esa solución funcionó para mí.
Revisé un poco el SSH_AUTH_SOCKET. De esta respuesta:
Supongo que esto es esencial para la resolución clave basada en el resultado.
fuente
Me parece que la clave privada / pública simplemente no coincide. Los nombres clave nos dicen que la clave pública es la clave RSA y la clave privada es DSA.
Intente generar un nuevo par y
scp
clave pública para el servidor.fuente
ssh-keygen -l -f ~/.ssh/id_rsa' and
ssh-keygen -l -f ~ / .ssh / id_rsa.pub`. Sin embargo, no creo que incluso ofrezca las claves si hubiera una falta de coincidencia. Creo que es solo que uno está siendo rechazado por el servidor por una razón aún no determinada, por lo que intenta con otro.Recomiendo verificar las autoridades en ./ssh y el directorio de inicio del usuario, en el archivo de clave y en el archivo autorizado de claves, ya que nadie más que el propietario debería poder escribir y leer allí si desea que la conexión sin contraseña ssh funcione. Eso concierne tanto a las máquinas de origen como a las de destino. Para ser honesto, a veces funciona incluso si hay derechos más grandes, pero no debería.
fuente