Tengo una situación extraña.
Desde la computadora A con PSFTP.EXE (cliente PuTTY SFTP) puedo conectarme a un servidor SFTP remoto y usar dir y chdir para navegar. Si lo intentoconseguiroponerarchivos me sale un error de permiso.
Desde la Computadora B con PSFTP.EXE (misma versión) puedo conectarme al MISMO servidor con las MISMAS credenciales y usar dir, chdir para navegar y también obtener/poner trabajo.
La única diferencia es que la Computadora A está detrás de un firewall que bloquea el tráfico saliente. El administrador del firewall me abrió el puerto 22. Antes de eso ni siquiera podía conectarme.
Estoy confundido porque obviamente los datos fluyen en ambas direcciones (los listados de directorios devuelven datos). Y sé que me estoy conectando al mismo servidor (los archivos colocados por la computadora B aparecen en las listas de directorios de la Computadora A)
¿Hay algo que pueda hacer que el administrador del firewall revise y que permita tal comportamiento?
es decir, se permiten conexiones, se permiten dir y chdir pero se deniegan las transmisiones de archivos get/put. de hecho, se niegan todos los cambios de archivos (mv, ren, rm, etc.)
Sé que suena como un problema de permisos en el servidor, pero si ese fuera el caso, esperaría que la Computadora B tuviera el mismo problema y no tiene absolutamente ningún problema.
Edición #1
Here is Computer A's session details: (slightly changed to protect sensitive data)
psftp> open servername.com
Looking up host "servername.com"
Connecting to x.x.x.x port 22
**Server version: SSH-2.0-OpenSSH_4.6**
Using SSH protocol version 2
We claim version: SSH-2.0-PuTTY_Release_0.62
Doing Diffie-Hellman group exchange
Doing Diffie-Hellman key exchange with hash SHA-256
Host key fingerprint is:
ssh-rsa 1024
Initialised AES-256 SDCTR client->server encryption
Initialised HMAC-SHA1 client->server MAC algorithm
Initialised AES-256 SDCTR server->client encryption
Initialised HMAC-SHA1 server->client MAC algorithm
login as: username
password:
Sent password
Access granted
Opened channel for session
Started a shell/command
Connected to servername.com
Remote working directory is /
Here is Computer B's session details: (slightly changed to protect sensitive data)
psftp> open servername.com
Looking up host "servername.com"
Connecting to x.x.x.x port 22
**Server version: SSH-2.0-0.0**
Using SSH protocol version 2
We claim version: SSH-2.0-PuTTY_Release_0.62
Doing Diffie-Hellman group exchange
Doing Diffie-Hellman key exchange with hash SHA-1
Host key fingerprint is:
ssh-dss 1024 ...
Initialised AES-256 CBC client->server encryption
Initialised HMAC-SHA1 client->server MAC algorithm
Initialised AES-256 CBC server->client encryption
Initialised HMAC-SHA1 server->client MAC algorithm
Pageant is running. Requesting keys.
Pageant has 0 SSH-2 keys
login as: username
password:
Sent password
Access granted
Opened channel for session
Started a shell/command
Connected to servername.com
Remote working directory is /
Respuesta1
El firewall no puede bloquear descargas/cargas individuales con SFTP. La conexión está cifrada. El firewall no puede ver lo que sucede entre el cliente y el servidor, y mucho menos intervenir de todos modos. Todo lo que puede hacer el firewall es bloquear toda la conexión, pero no las operaciones individuales.
Pero el servidor SFTP puede bloquear las descargas/cargas según la dirección IP del cliente. Por ejemplo ProFTPD mod_sftp
permite que (usandoAllow
directiva).
De los registros que ha proporcionado, es obvio que se está conectando a un servidor diferente cada vez. Si bien puede ser el mismo servidor físico, definitivamente es un servidor SSH diferente. Incluso si se está conectando a la misma dirección IP y puerto, puede ser el firewall el que lo enruta a un puerto diferente (incluso a una dirección IP diferente, obviamente, pero usted afirma que ese no es el caso) en función de su dirección IP local.