2016-01-06 44 views
1

我想使用公鑰和私鑰加密來設置安全FTP服務器。 Java程序將從該服務器上載和下載文件。我需要兩個密鑰對用於上傳,一個用於上傳,一個用於下載?爲Java客戶端設置SFTP服務器以允許僅使用公鑰進行下載

我需要支持兩個操作。

  1. Java客戶端(私鑰)-----------------上傳文件-----------生成服務器(公鑰)密鑰客戶端

  2. Java客戶端(公鑰)--------------------下載文件---------服務器(私鑰)鍵在服務器

產生能把它使用一對密鑰來完成?

+2

爲什麼你需要引入第二對?這個問題已經用sftp ftps協議解決了 – mikus

回答

0

首先,您可能是指SFTP,而不是安全FTP(FTPS)。


你似乎誤解在FTPS公鑰認證是如何工作的。

你不能對公鑰只做任何事情。你總是需要私鑰。即使是下載。任何SFTP會話都是雙向的。您總是需要發送到服務器(至少SFTP/SSH請求),並且需要使用私鑰加密。


回答你的問題:是的,你需要兩個鑰匙對。或者更確切地說,您需要兩個SFTP/SSH帳戶。


做只爲下載公鑰,您將需要使用普通的FTP,並使用密鑰對加密/解密僅文件。但那不是SFTP了。

0

連接是雙向的 - 您可以使用單一連接儘可能多地上傳和下載連接。

話雖如此,在一個連接中有兩個關鍵對:客戶端和服務器端。服務器向客戶端展示其公鑰,以驗證您是否正在與正確的服務器交談。客戶端公鑰被添加到服務器上的授權密鑰列表中。

相關問題