Usando OpenSSH para Windows, estoy intentando configurar un SFTP usando la clave pública.
Mi registro de errores muestra esto:
12080 2020-03-20 11:51:02.136 debug3: Failed to open file:C:/Windows/.ssh/authorized_keys error:2
12080 2020-03-20 11:51:02.136 debug1: Could not open authorized keys 'C:\\Windows\\.ssh/authorized_keys': No such file or directory
En sshd_config hemos configurado un usuario de la siguiente manera:
Match User testuser
ChrootDirectory E:\Integration\SFTP\TestUser
PasswordAuthentication no
PubkeyAuthentication yes
Entonces, ¿no debería el software ir a E:\Integration\SFTP\TestUser\.ssh\authorized_keys para los archivos clave?
Luego, como prueba, copié la clave_autorizada de los usuarios en el directorio c:\Windows..sh y recibí este error:
debug1: trying public key file C:\\Users\\testuser\\.ssh/authorized_keys
debug3: Failed to open file:C:/Users/testuser/.ssh/authorized_keys error:2
debug1: Could not open authorized keys 'C:\\Users\\testuser\\.ssh/authorized_keys': No such file or directory
Cuando puse la clave en el directorio anterior funcionó. Entonces, ¿ChrootDirectory solo funciona para la fuente de los archivos enviados y recibidos, no para los archivos .ssh? Intentaré eliminarlo de C:\Windows a continuación...
Eliminé el archivo C:\Windows.ssh\authorized_keys y todavía funciona. Entonces, ¿quizás cuando no se encuentra el usuario, se dirige al directorio C:\Windows como fuente de respaldo?
Respuesta1
Tuve una situación con el error "C:\Windows\.ssh/authorized_keys': No existe tal archivo o directorio" cuando creé carpetas de usuario manualmente en lugar de iniciar sesión con la cuenta de usuario real.
Mi situación fue solucionada por:
- cambiar el nombre/eliminar carpetas de usuario creadas manualmente
- inicie sesión con la cuenta de usuario real
- creando/copiando carpeta .ssh y archivo de claves_autorizadas
- comprobar los derechos de acceso de la carpeta .ssh y del archivo de claves_autorizadas