Hadoop en Ubuntu: no se puede crear SSH sin contraseña

Hadoop en Ubuntu: no se puede crear SSH sin contraseña

Estoy aprendiendo Hadoop e intentando crear SSH sin contraseña siguiendo el procedimiento definido en el Libro:Hadoop: la guía definitiva

Configurando SSH

El modo pseudodistribuido es solo un caso especial de modo totalmente distribuido en el que el (único) host es localhost, por lo que debemos asegurarnos de que podemos utilizar SSH en localhost e iniciar sesión sin tener que ingresar una contraseña.

Primero, asegúrese de que SSH esté instalado y un servidor está funcionando(No estoy seguro de lo que quieren decir). En Ubuntu, por ejemplo, esto se consigue con:

sudo  apt-get install ssh

Luego, para habilitar el inicio de sesión sin contraseña, genere una nueva clave SSH con una frase de contraseña vacía:

  ssh-keygen  -t  rsa -P  ''  -f  ~/.ssh/id_rsa
  cat ~/.ssh/id_rsa.pub   >>  ~/.ssh/authorized_keys

Es posible que también necesites ejecutarssh-añadirsi está ejecutando ssh-agent. Pruebe con qué puede conectarse:

  ssh localhost

Si tiene éxito, no debería tener que escribir una contraseña.

Todo parece funcionar bien, pero todavía solicita la contraseña. Estoy dando mi contraseña de inicio de sesión, que también uso para el acceso raíz. pero no funciona en absoluto. Por favor recomiende.

Añadiendo más información. Eliminé la clave anterior y agregué una nueva.

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Mis permisos de archivos después de esto fueron

-rw-rw-r-- 1 incredible incredible  403 मई    24 17:16 authorized_keys
-rw------- 1 incredible incredible 1679 मई    23 23:08 id_rsa
-rw-r--r-- 1 incredible incredible  403 मई    23 23:08 id_rsa.pub
-rw-r--r-- 1 incredible incredible  444 मई    24 17:12 known_hosts

después de cambiar el permiso de Authorized_key es

-rw------- 1 incredible incredible  403 मई    24 17:16 authorized_keys
-rw------- 1 incredible incredible 1679 मई    23 23:08 id_rsa
-rw-r--r-- 1 incredible incredible  403 मई    23 23:08 id_rsa.pub
-rw-r--r-- 1 incredible incredible  444 मई    24 17:12 known_hosts

Pero incluso después de esto, me pide la contraseña cuando lo hago.ssh localhost

Agregar más salida de información ssh -v localhostsolicitada por @heemayl

incredible@incredible:~$ ssh -v localhost OpenSSH_6.7p1 Ubuntu-5ubuntu1, OpenSSL 1.0.1f 6 Jan 2014 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug1: Connecting to localhost [127.0.0.1] port 22. debug1: Connection established. debug1: identity file /home/incredible/.ssh/id_rsa type 1 debug1: key_load_public: No such file or directory debug1: identity file /home/incredible/.ssh/id_rsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /home/incredible/.ssh/id_dsa type -1 debug1: key_load_public: No such file or directory debug1: identity file /home/incredible/.ssh/id_dsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /home/incredible/.ssh/id_ecdsa type -1 debug1: key_load_public: No such file or directory debug1: identity file /home/incredible/.ssh/id_ecdsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /home/incredible/.ssh/id_ed25519 type -1 debug1: key_load_public: No such file or directory debug1: identity file /home/incredible/.ssh/id_ed25519-cert type -1 debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_6.7p1 Ubuntu-5ubuntu1 debug1: Remote protocol version 2.0, remote software version OpenSSH_6.7p1 Ubuntu-5ubuntu1 debug1: match: OpenSSH_6.7p1 Ubuntu-5ubuntu1 pat OpenSSH* compat 0x04000000 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr [email protected] none debug1: kex: client->server aes128-ctr [email protected] none debug1: sending SSH2_MSG_KEX_ECDH_INIT debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: Server host key: ECDSA 3c:e1:36:10:30:19:b3:e1:43:73:a5:6c:76:9e:24:67 debug1: Host 'localhost' is known and matches the ECDSA host key. debug1: Found key in /home/incredible/.ssh/known_hosts:1 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,keyboard-interactive debug1: Next authentication method: publickey debug1: Offering RSA public key: /home/incredible/.ssh/id_rsa debug1: Authentications that can continue: publickey,password,keyboard-interactive debug1: Trying private key: /home/incredible/.ssh/id_dsa debug1: Trying private key: /home/incredible/.ssh/id_ecdsa debug1: Trying private key: /home/incredible/.ssh/id_ed25519 debug1: Next authentication method: keyboard-interactive debug1: Authentications that can continue: publickey,password,keyboard-interactive debug1: Next authentication method: password incredible@localhost's password:

@heemayl: A continuación se muestra el resultado dessh -vvv localhost

debug1: Offering RSA public key: /home/incredible/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey,password,keyboard-interactive debug1: Offering RSA public key: incredible@incredible debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey,password,keyboard-interactive debug1: Trying private key: /home/incredible/.ssh/id_dsa debug3: no such identity: /home/incredible/.ssh/id_dsa: No such file or directory debug1: Trying private key: /home/incredible/.ssh/id_ecdsa debug3: no such identity: /home/incredible/.ssh/id_ecdsa: No such file or directory debug1: Trying private key: /home/incredible/.ssh/id_ed25519 debug3: no such identity: /home/incredible/.ssh/id_ed25519: No such file or directory debug2: we did not send a packet, disable method debug3: authmethod_lookup keyboard-interactive debug3: remaining preferred: password debug3: authmethod_is_enabled keyboard-interactive debug1: Next authentication method: keyboard-interactive debug2: userauth_kbdint debug2: we sent a keyboard-interactive packet, wait for reply debug1: Authentications that can continue: publickey,password,keyboard-interactive debug3: userauth_kbdint: disable: no info_req_seen debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: debug3: authmethod_is_enabled password debug1: Next authentication method: password incredible@localhost's password:

Respuesta1

El problema se debe al permiso del ~/.ssh/authorized_keysarchivo. Su permiso no debe ser tal que otros puedan escribir en el archivo.

Por ejemplo, si el permiso está configurado como octal 666(¡¡es realmente diabólico!!), como todos los demás pueden tener permiso de escritura en el archivo ~/.ssh/authorized_keys, entonces el archivo será ignorado sshy se le solicitará la contraseña.

Suponiendo que el archivo ~/.ssh/authorized_keysno existe de antemano, el siguiente comando

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

creará el archivo ~/.ssh/authorized_keyscon el permiso determinado por su umaskvalor y luego agregará el contenido del ~/.ssh/id_rsa.pubarchivo.

Entonces, la solución es cambiar el permiso del archivo para que solo usted pueda escribirlo, por ejemplo:

chmod 600 ~/.ssh/authorized_keys

información relacionada