linux – Limitar la clave SSH solo a SCP

Pregunta:

Problema:

No tengo acceso de root al servidor (es decir, no puedo / no quiero cambiar ninguna configuración del servidor en todo el sistema), y quiero usar scp con un archivo de identidad alternativo (p. Ej., .ssh/id_rsa_for_scp ) para automatizar la descarga de algunos archivos del servidor, pero no quiero que se use la misma clave para acceder al servidor a través de ssh.

Respuesta:

Después de copiar su archivo de claves al servidor:

ssh-copy-id -i ~/.ssh/id_rsa_for_scp legendaryuser@192.168.1.1

(Para simplificar el ejemplo, asumiremos que la máquina del cliente ~ / .ssh / config ya está configurada. Para obtener más detalles sobre ~/.ssh/config ejecute man ssh_config )

Host testmachine
    Hostname 192.168.1.1
    User legendaryuser
    BatchMode yes
    IdentitiesOnly yes
    IdentityFile ~/.ssh/id_rsa_for_scp

Deberá editar el archivo /home/legendaryuser/.ssh/authorized_keys del servidor.

Desde:

ssh-rsa AAAAAC3nZCXExxHUEBR...

Para: (esta versión permite descargar y cargar)

command="if [[ \"$SSH_ORIGINAL_COMMAND\" =~ ^scp.? ]]; then $SSH_ORIGINAL_COMMAND ; else echo Access Denied; fi" ssh-rsa AAAAAC3nZCXExxHUEBR...

Si desea limitar scp al "modo de solo descarga" y solo a archivos de un directorio específico, haga lo siguiente:

command="if [[ \"$SSH_ORIGINAL_COMMAND\" =~ ^scp[[:space:]]-f[[:space:]]/full/path/to/dir/.? ]]; then $SSH_ORIGINAL_COMMAND ; else echo Access Denied; fi" ssh-rsa AAAAAC3nZCXExxHUEBR...

Y por último, agreguemos algunas restricciones más a la clave, solo para estar seguros:

command="if [[ \"$SSH_ORIGINAL_COMMAND\" =~ ^scp[[:space:]]-f[[:space:]]/full/path/to/dir/.? ]]; then $SSH_ORIGINAL_COMMAND ; else echo ERRO Access Denied; fi",no-pty,no-port-forwarding,no-agent-forwarding,no-X11-forwarding ssh-rsa AAAAAC3nZCXExxHUEBR...

Puede ver más detalles sobre el archivo authorized_keys ejecutando:

man sshd

Ps: también puede agregar from=xxx.xxx.xxx.xxx para limitar el uso de la clave desde una dirección IP o red específica.

Pps: Perdón por mi inglés, no soy un hablante nativo.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım