Següent revisió | Revisió prèvia |
linux:ssh:keys [10/02/2016 08:43] – creado mate | linux:ssh:keys [19/03/2021 09:06] (actual) – [authorized_keys] mate |
---|
* ''from="xxx.xxx.xxx.xxx" ssh-dss....'' -> restricción por IP | * ''from="xxx.xxx.xxx.xxx" ssh-dss....'' -> restricción por IP |
* ''no-pty ssh-dss...'' -> evita obtener una shell | * ''no-pty ssh-dss...'' -> evita obtener una shell |
* se puede saltar ejecutando: ''ssh sistema_remoto 'echo $HOSTNAME' | * se puede saltar ejecutando: ''ssh sistema_remoto 'echo $HOSTNAME'' |
* ''command="echo 'pues va a ser que no'" ssh-dss...'' -> solo permite ejecutar el comando especificado | * ''command="echo 'pues va a ser que no'" ssh-dss...'' -> solo permite ejecutar el comando especificado |
* ''no-port-forwarding ssh-dds...'' -> no permite port-forwarding | * ''no-port-forwarding ssh-dds...'' -> no permite port-forwarding |
* ''permitopen"xxx.xxx.xxx.xxx:xxxx" -> limita el port-forwarding a una determinada IP y puerto | * ''permitopen"xxx.xxx.xxx.xxx:xxxx"'' -> limita el port-forwarding a una determinada IP y puerto |
* ¿entrar en un sistema que se conecta con otro y que ese usuario solo sirva para eso? | * ¿entrar en un sistema que se conecta con otro y que ese usuario solo sirva para eso? |
* command="/home/user/comando_autorizado" | * command="/home/user/comando_autorizado" |
las restricciones separadas por comas y sin espacios | las restricciones separadas por comas y sin espacios |
| |
== creación y distribución de llaves | == known_hosts |
* crear llave 2048 bits: | * este fichero contiene las claves púlicas de los servidores a los que nos conectamos por SSH. |
<code>$ ssh-keygen -b 2048 -f /home/user/.ssh/myKey</code> | * por defecto, el nombre de los servidores se esconde con un hash |
<code>$ ssh-keygen -t rsa -f /home/user/.ssh/myKey</code> | * para cambiar eso, podemos editar ''/etc/ssh/ssh_config'' y modificar ''HashKnownHosts Yes -> No'' |
* asegurarnos que el directorio ''~/.ssh'' tiene los permisos 700 | * comandos útiles para tratar con este fichero: |
* copiar clave pública en sistema remoto (en el directorio .ssh de la home del usuario, añadiendo o creando el fichero __authorized_keys__, cambiando los permisos a 600) | * ''ssh-keygen -R <ip|dominio> -f <known_hosts_file>'' -> solicita la clave pública de ese servidor y la elimina de la lista |
<code>ssh-copy-id -i /home/user/.ssh/myKey.pub user@sistema.remoto</code> | * ''ssh-keyscan rsa,dsa <dominio>'' -> recupera las claves solicitadas (por pantalla) |
* esto nos permite entrar en el sistema remoto sin recordar la contraseña de ese usuario en ese sistema. Solo tenemos que recordar la contraseña de nuestra clave privada | * -H -> key en formato HASH ¿? |
<code>ssh -i<fichero_clave_privada> usuario@sistema.remoto</code> | * -v -> verbose |
| * ''ssh-keygen -H -F <dominio>'' -> busca y muestra si hay la clave de un host |
| * -H -> busca |
| * -F -> en el fichero known_hosts |
| * <dominio> no es parámetro de -F |
| |