Назад | Перейти на главную страницу

Любая идея, почему SFTP работает по-разному в зависимости от клиентской машины / сети

У меня странная ситуация.

С компьютера A с PSFTP.EXE (клиент putty sftp) я могу подключиться к удаленному серверу sftp и использовать dir и chdir для просмотра. Если я попытаюсь получить или ставить файлов я получаю ошибку разрешения.

С компьютера B с PSFTP.EXE (та же версия) я могу подключиться к ЖЕСТКОМУ серверу с ОДИНАКОВЫМИ учетными данными и использовать dir, chdir для просмотра, а также для получения / выполнения работы.

Единственная разница в том, что компьютер A находится за брандмауэром, блокирующим исходящий трафик. Администратор брандмауэра открыл мне порт 22. До этого я даже не мог подключиться.

Я сбит с толку, потому что очевидно, что данные идут в обоих направлениях (списки каталогов возвращают данные). И я знаю, что подключаюсь к тому же серверу (файлы, помещенные компьютером B, отображаются в списках каталогов с компьютера A)

Могу ли я попросить администратора брандмауэра взглянуть на такое поведение?
т.е. соединения разрешены, dir и chdir разрешены, но передача / передача файлов запрещена? фактически все изменения файлов запрещены (mv, ren, rm и т. д.)

Я знаю, что это звучит как проблема с разрешениями на сервере, но если бы это было так, я бы ожидал, что у компьютера B будет такая же проблема, и у него нет абсолютно никаких проблем.

Редактировать # 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 /

Брандмауэр не может блокировать отдельные загрузки / выгрузки с помощью SFTP. Соединение зашифровано. Брандмауэр не видит, что происходит между клиентом и сервером, пусть только вмешивается. Все, что может сделать брандмауэр, - это блокировать все соединение, но не отдельные операции.

Но сервер SFTP может блокировать загрузки / выгрузки на основе IP-адреса клиента. Например, ProFTPD / mod_sftp позволяет это (используя Allow директива).


Из предоставленных вами журналов очевидно, что вы каждый раз подключаетесь к другому серверу. Хотя это может быть один и тот же физический сервер, это определенно другой SSH-сервер. Даже если вы подключаетесь к одному и тому же IP-адресу и порту, это может быть брандмауэр, который направляет вас на другой порт (даже другой IP-адрес, очевидно, но вы утверждаете, что это не так) на основе вашего локального IP-адреса.