Creación de una clave SSH
Crear una nueva clave SSH
# Creamos la clave ssh:
ssh-keygen -t rsa -b 2048 -C "<email@dominio.com>"Permisos para una clave SSH
Los permisos que debe tener son bastante restrictivos.
chmod 400 ~/.ssh/my-key.pemConfiguración de la clave SSH
# Iniciamos ssh-agent como un proceso de fondo:
eval "$(ssh-agent -s)"
# Añadimos la clave privada al agente de autentificación:
ssh-add ~/.ssh/id_rsaImportar una clave SSH
- Importar las claves en la carpeta
~/.ssh
# Cambiar los permisos de la carpeta ~/.ssh
chmod 775 ~/.ssh
# Cambiar los permisos de los ficheros enviroment, clave privada (id_rsa) known_hosts
chmod 600 ~/.ssh/{enviroment,id_rsa,known_hosts}
# Cambiar los permisos de la clave pública
chmod 775 ~/.ssh/id_rsa.pub
chmod 600 ~/.ssh/autorized_keysConfiguración de una clave SSH
Cambiar el puerto de acceso de SSH
# Si es un servidor remoto, hay que tener en cuenta
# de habilitar el acceso a ese puerto desde UFW
sudo ufw allow 2245/tcp
# Accedemos al fichero de configuración de SSH:
sudo -e /etc/ssh/sshd_config
# Cambiamos el puerto por defecto al que queramos:
#Port 22
Port 2245
# Reiniciamos SSH:
sudo /etc/init.d/ssh restart
# Comprobamos con un nuevo punto de acceso SIN desconectarnos del actual
# Accedemos al servidor con el nuevo puerto:
ssh -p 2245 <usuario>@<ip>Crear fichero de configuración de SSH
# Accedemos al fichero de configuración de SSH ~/.ssh/config
# Añademos los datos de las direcciones deseadas:
Host <nombre>
HostName <IP>
HostName <dominio>
User <usuario>
IdentityFile <ruta/al/fichero>
Port <puerto>Cambiar la clave SSH activa
# Primero listamos la clave activa
ssh-add -l
# Añadimos la nueva clave SSH
ssh-add /nueva/ruta/
# Probamos la conexión
ssh -T usuario@host Habilitar el acceso SSH a root
# Editamos el fichero
sudo -e /etc/ssh/sshd_config
# Modificamos
# PermitRootLogin without-password
PermitRootLogin yes
# Reiniciamos ssh
/etc/init.d/ssh restartRestringir acceso SSH a root
# Editamos el fichero
sudo -e /etc/ssh/sshd_config
# Modificamos
# PermitRootLogin without-password
# o
# PermitRootLogin yes
# por:
PermitRootLogin no
# Reiniciamos SSH
/etc/init.d/ssh restart
# Una vez instalado OpenSSH, comprobamos que el archivo de configuración permite a usuarios conectarse únicamente con clave SSH:Habilitar el acceso SSH sin contraseña
# Añadir la clave pública al fichero .ssh/authorized_keys
cat ~/.ssh/id_rsa.pub | ssh <usuario>@<ip> 'cat >> .ssh/authorized_keys'Acceder con SSH mediante un fichero PEM
ssh -i <ruta/fichero.pem> <usuario>@<ip>