networking - responde - ¿Cómo enviar ssh a localhost sin contraseña?
recuperar contraseña root mysql (8)
EDITAR: Poner exactamente lo que se hizo
Necesito SSH localhost sin contraseña, la forma habitual de hacerlo (con claves públicas) no funciona.
user@PC:~$ rm -rf .ssh/*
user@PC:~$ ssh-keygen -t rsa > /dev/null
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
user@PC:~$ ls .ssh/
id_rsa id_rsa.pub
user@PC:~$ ssh-copy-id -i localhost
The authenticity of host ''localhost (::1)'' can''t be established.
RSA key fingerprint is f7:87:b5:4e:31:a1:72:11:8e:5f:d2:61:bd:b3:40:1a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ''localhost'' (RSA) to the list of known hosts.
user@localhost''s password:
Now try logging into the machine, with "ssh ''localhost''", and check in:
.ssh/authorized_keys
to make sure we haven''t added extra keys that you weren''t expecting.
user@PC:~$ ssh-agent $SHELL
user@PC:~$ ssh-add -L
The agent has no identities.
user@PC:~$ ssh-add
Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa)
user@PC:~$ ssh-add -L
ssh-rsa ...MY KEY HERE
user@PC:~$ ssh-copy-id -i localhost
user@localhost''s password:
Now try logging into the machine, with "ssh ''localhost''", and check in:
.ssh/authorized_keys
to make sure we haven''t added extra keys that you weren''t expecting.
user@PC:~$ ssh localhost echo ''testing''
user@localhost''s password:
user@PC:~$
¡Como puede ver en el último comando, todavía está pidiendo la contraseña! ¿Cómo puedo arreglar eso? Ubuntu-10.04, OpenSSH_5.3p1
EDIT2:
Agregar información sobre el sshd
user@PC:~$ cat /etc/ssh/sshd_config | grep Authentication
# Authentication:
RSAAuthentication yes
PubkeyAuthentication yes
RhostsRSAAuthentication no
HostbasedAuthentication no
# Uncomment if you don''t trust ~/.ssh/known_hosts for RhostsRSAAuthentication
ChallengeResponseAuthentication no
# PasswordAuthentication yes
EDIT3: Ading resultado de $ ssh -vv localhost
$ssh -vv localhost
...
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/user/.ssh/identity
debug1: Offering public key: /home/user/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/user/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
user@localhost''s password:
Dos pasos simples:
ssh-keygen -t rsa <Press enter for each line>
ssh-copy-id localhost
Ingresa la contraseña y listo.
Han descubierto el problema.
Ejecutando el servidor con la depuración:
$sshd -Dd
Descubrí que no fue capaz de leer la auth_key
$chmod 750 $HOME
Arreglado.
Haz los siguientes pasos
ssh-keygen -t rsa -C "[email protected]"
# Creates a new ssh key, using the provided email as a label
# Generating public/private rsa key pair.
Utilice el archivo predeterminado y la frase de contraseña vacía (Simplemente presione intro en los próximos 2 pasos)
# start the ssh-agent in the background
eval "$(ssh-agent -s)"
# Agent pid 59566
ssh-add
Copie los contenidos de ~ / .ssh / id_rsa.pub a ~ / .ssh / authorized_keys
Asegúrese de seguir los permisos
ls -l .ssh/
total 20
-rw-r--r--. 1 swati swati 399 May 5 14:53 authorized_keys
-rw-r--r--. 1 swati swati 761 Jan 12 15:59 config
-rw-------. 1 swati swati 1671 Jan 12 15:44 id_rsa
-rw-r--r--. 1 swati swati 399 Jan 12 15:44 id_rsa.pub
-rw-r--r--. 1 swati swati 410 Jan 12 15:46 known_hosts
Además, asegúrese de que los permisos para el directorio .ssh sean. Esto también es importante
drwx------. 2 swati swati 4096 May 5 14:56 .ssh
Hice los siguientes 3 pasos para crear la contraseña menos iniciar sesión
1. ssh-keygen -t rsa
Press enter for each line
2. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3. chmod og-wx ~/.ssh/authorized_keys
La forma correcta y segura de hacerlo es copiar las claves como se ha dicho aquí.
En otros casos, sshpass
puede ser útil.
sshpass -p raspberry ssh [email protected]
Tenga en cuenta que esto no es seguro en absoluto. Aunque no es una buena idea usarlo en entornos seguros, puede ser útil para secuencias de comandos, pruebas automatizadas ...
esto se puede combinar con
ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no [email protected]
para evitar preguntas de confirmación que impiden que se produzcan scripts.
Nuevamente, solo use esto en sistemas de desarrollo donde diferentes máquinas comparten una IP y la seguridad no es importante.
https://ownyourbits.com/2017/02/22/easy-passwordless-ssh-with-sshh/
Me enfrenté al mismo problema incluso después de seguir todas las recomendaciones, pero descubrí que el problema era con la interferencia de gnome-keyring.
Solución:
- Vaya a Buscar, busque "Aplicaciones de inicio"
- Si ve "Agente clave SSH", desmarque la casilla
- Reinicie la máquina y conéctese a localhost.
Otra posible respuesta: el archivo authorized_keys puede existir y ser legible. Pero si se puede escribir en grupo o en el mundo, seguirá solicitando la contraseña. La respuesta a ESE problema es
chmod og-wx ~/.ssh/authorized_keys
como lo hace la respuesta aceptada, si cuenta un problema de
Agent admitted failure to sign using the key.
necesitas
ssh-add