miércoles, 12 de octubre de 2011

Conexion via ssh sin password a maquina remota

Documento que explica como realizar un ssh a una maquina sin escribir password
1- Cliente: Crear los ficheros de clave publica y privada
cd $HOME
ssh-keygen -t dsa;
enter
enter enter
2- Cliente: Copiar el contenido del fichero de clave publica en el fichero authorized_keys del home del servidor
scp .ssh/id_dsa.pub user@servermachine:~/.ssh
3- Servidor: Entrar como el usuario que se quiere conectar y añadir el contenido de la clave publica del cliente en el fichero authorized_keys
cd ~
cat id_dsa.pub >> .ssh/authorized_keys
YA TA.
1- Si no funciona,
Comprobar permisos de ficheros en Servidor
-el directorio /home/user/ y el /home/user/.ssh no pueden tener permisos de escritura para el grupo y otros. Si se puede, poner permisos 600(o creo que al menos solo puede tener permisos de escritura el usuario propietario)
-el fichero authorized_keys debe tener permisos 600(o creo que al menos solo puede tener permisos de escritura el usuario propietario)
-rw-r--r-- 1 user grupo 836 jul 2 13:32 /home/user/.ssh/authorized_keys
-Hay que añadir al fichero /home/user/.rhosts una entrada con ipcliente user, que debe tener permisos 600(o creo que al menos solo puede tener permisos de escritura el usuario propietario)
192.168.1.2 user
-Si no se pueden poner permisos 600 a estos directorios por algun motivo, hay que cambiar el atributo StrictModes a no en el fichero
/etc/ssh/sshd_config del servidor y reiniciar el ssh. Esta medida es un fallo de seguridad. Ya no hace falta el uso del fichero .rhosts
Note:The option StrictModes specifies whether ssh should check user's permissions in their home directory and rhosts files before accepting login. This option must always be set to *yes* because sometimes users may accidentally leave their directory or files world-writable.
[user@hostname ~]$ ls -al ~/.ssh/authorized_keys ~/.rhosts
-rw------- 1 user grupo 85 oct 18 2007 /home/user/.rhosts
-rw-r--r-- 1 user grupo 836 jul 2 13:32 /home/user/.ssh/authorized_keys
DEBUG:
Cliente: ssh -vvv serverhost muestra mensajes de debug en el cliente
-Buscar Offering public key: /home/user/.ssh/id_dsa. Este fichero debe existir
-Si esto no esta bien, en el fichero /etc/ssh/ssh_config añadir al final la linea
IdentifyFile ~/.ssh/id_dsa
Servidor: mirar el fichero /var/log/secure o el fichero que muestre el log del sshd en el directorio /var/log
Si sale el mensaje "Authentication refused: bad ownership or modes for directory /home/user/.ssh...." comprobar los permisos de estos directorios, no pueden tener
permiso de escritura para el grupo ni otros
Segun la version del ssh, si sigue sin funcionar, probar a hacer un enlace al fichero authorized_keys ln -s authorized_keys authorized_keys2
o mirar la configuracion del servidor en sshd_config el atributo
AuthorizedKeysFile .ssh/authorized_keys

No hay comentarios:

Publicar un comentario