知道為什麼 SFTP 根據客戶端電腦/網路的工作方式不同

知道為什麼 SFTP 根據客戶端電腦/網路的工作方式不同

我的情況很奇怪。

從具有 PSFTP.EXE(putty sftp 用戶端)的電腦 A,我可以連接到遠端 sftp 伺服器並使用 dir 和 chdir 進行瀏覽。如果我嘗試得到或者文件我收到權限錯誤。

從具有 PSFTP.EXE(相同版本)的電腦 B,我可以使用相同的憑證連接到相同的伺服器,並使用 dir、chdir 來瀏覽並取得/放置工作。

唯一的區別是電腦 A 位於阻止傳出流量的防火牆後面。防火牆管理員為我開啟了連接埠 22。在此之前我什至無法連接。

我很困惑,因為顯然數據是雙向流動的(目錄列表返回數據)。我知道我正在連接到同一台伺服器(電腦 B 放置的檔案顯示在電腦 A 的目錄清單中)

我可以讓防火牆管理員查看哪些內容會允許這種行為嗎?
即允許連接,允許 dir&chdir 但檔案傳輸 get/put 被拒絕?事實上,所有文件變更都被拒絕(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 /

答案1

防火牆無法阻止使用 SFTP 的單一下載/上傳。連線已加密。防火牆無法看到客戶端和伺服器之間發生的情況,更不用說進行幹預了。防火牆所能做的只是阻止整個連接,但不能阻止單一操作。

但SFTP伺服器可以根據客戶端IP位址阻止下載/上傳。例如,ProFTPDmod_sftp允許(使用Allow指示)。


從您提供的日誌來看,很明顯您每次都連接到不同的伺服器。雖然它可能是同一台實體伺服器,但它絕對是不同的 SSH 伺服器。即使您連接到相同的 IP 位址和端口,防火牆也可能會根據您的本地 IP 位址將您路由到不同的連接埠(甚至顯然是不同的 IP 位址,但您聲稱情況並非如此)。

相關內容