PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   SSH FTP的問題 (https://www.pcdvd.com.tw/showthread.php?t=1043991)

orea2004 2014-03-28 11:33 PM

SSH FTP的問題
 
各位好
請問有關SFTP的問題
最近公司有個新系統
合作廠商會把一些資訊傳送到我們的ftp
對方要求我們使用SFTP,並提供SSH所謂的"key"給他們
FTP架過很多次但SFTP則是第一次接觸,搞不太清楚他們所謂的key是什麼東西
爬了些文章,我猜測他們指的應該是SSH連線時需要的公、私鑰
但爬了些文章,金鑰是由client端產生,私鑰client端自己留著,公鑰要上傳到server。
看到這我就很納悶了.......
既然是對方要連線到我們的FTP,應該是對方要產生public key給我們才對啊。
為什麼對方一直跟我們要key?

erai 2014-03-28 11:57 PM

反向思考

對方是要您產生另一組公、私鑰

然後把私鑰給他

公鑰您就自己加入自己的Server

或許他就是不想做產生key及把key上傳的動作

kevku01 2014-03-29 12:03 AM

引用:
作者orea2004
各位好
請問有關SFTP的問題
最近公司有個新系統
合作廠商會把一些資訊傳送到我們的ftp
對方要求我們使用SFTP,並提供SSH所謂的"key"給他們
FTP架過很多次但SFTP則是第一次接觸,搞不太清楚他們所謂的key是什麼東西
爬了些文章,我猜測他們指的應該是SSH連線時需要的公、私鑰
但爬了些文章,金鑰是由client端產生,私鑰client端自己留著,公鑰要上傳到server。
看到這我就很納悶了.......
既然是對方要連線到我們的FTP,應該是對方要產生public key給我們才對啊。
為什麼對方一直跟我們要key?


沒錯阿, 你要產生一對金鑰,public key 放在sftp server, private key 給廠商, private key 就好像密碼, sftp server 用public key 來驗證你的 private key 的 signature 是否正確, 所以只有擁有 private key 的人才能登入.

isaackuo 2014-03-29 12:40 AM

引用:
作者orea2004
各位好
請問有關SFTP的問題
最近公司有個新系統
合作廠商會把一些資訊傳送到我們的ftp
對方要求我們使用SFTP,並提供SSH所謂的"key"給他們
FTP架過很多次但SFTP則是第一次接觸,搞不太清楚他們所謂的key是什麼東西
爬了些文章,我猜測他們指的應該是SSH連線時需要的公、私鑰
但爬了些文章,金鑰是由client端產生,私鑰client端自己留著,公鑰要上傳到server。
看到這我就很納悶了.......
既然是對方要連線到我們的FTP,應該是對方要產生public key給我們才對啊。
為什麼對方一直跟我們要key?



對方要求提供 key 這件事情蠻奇怪的
除非要做到雙向認證, 否則不需要提供才對
而且要提供也是提供"憑證(Certification)"

因為沒有提到平台的作業系統
底下的做法都可以做到 sFTP
提供做為參考

Windows:
直接安裝 Filezilla Server
https://filezilla-project.org/download.php?type=server
啟用內建的 SSL/TLS 功能, 這樣就有 sFTP 可用了
安裝後, 設定選項在 Edit/Setting/SSL/TLS Setting
從那邊產生相關憑證就可以了
同時請對方使用 Filezilla 連入, 在主機的加密設定部分選擇
"透過外顯式 TLS 的 FTP" 這樣FTP的傳輸就已經是 sFTP 了
若無法正常連線, 則前述選項改用 "透過隱含式 TLS 的 FTP"
連線時, 會直接詢問是否接受SSL憑證, 請對方點選接收就可以了

Linux:
啟用 SSH 服務, 再請對方使用 WinSCP 連入
WinSCP
http://winscp.net/eng/docs/lang:cht

對方連入時一樣會出現是否接受 SSL 憑證, 點選接收就可以

b4283 2014-03-29 01:47 AM

"FTP over TLS" & sftp 是不同的東西

回覆樓主,你的想法是對的。
慣例是 client 產生一組 key 再傳上 server,
所以才有 ssh-copy-id 這個便用程式。

cmwang 2014-03-29 07:46 AM

ssh/sftp client連上server時server就會把自己的public key提供給client了(所以沒有所謂要先把key傳給對方的問題,除非對方要的是private key:ase),如果對方要的是不要人工輸入密碼就能自動登入的話,應該是把他們的public key傳給你,你幫他放進他home directory下的.ssh目錄中(這個動作他也可以DIY,並不一定要你幫他弄:ase),這樣sftp client連上時就可以自動登入了,所以的確是對方搞不清楚狀況:ase:ase....

orea2004 2014-03-29 09:01 AM

引用:
作者cmwang
ssh/sftp client連上server時server就會把自己的public key提供給client了(所以沒有所謂要先把key傳給對方的問題,除非對方要的是private key:ase),如果對方要的是不要人工輸入密碼就能自動登入的話,應該是把他們的public key傳給你,你幫他放進他home directory下的.ssh目錄中(這個動作他也可以DIY,並不一定要你幫他弄:ase),這樣sftp client連上時就可以自動登入了,所以的確是對方搞不清楚狀況:ase:ase....

感謝各位。
我在發文之前都只注意自動登入這段,沒有仔細看建立連線過程。
提供金鑰的方向是跟自動登入相反。
但還是覺得很怪,
這段不像自動登入的金鑰會要手動產生都是自動的。
實在搞不懂為什麼我們要copy檔案給他們。
另外你有提到除非對方要的是private key。
為什麼對方會要private key?這不合理啊。
老實講對方是銀行,我們是使用他們的金流服務。
所以他們會傳來一些交易資料。
這是他們既有的服務,而且我一直認為銀行的IT
應該是很厲害不會提什麼奇怪又不合理的要求才是。

T磨人 2014-03-29 09:54 AM

引用:
作者orea2004
感謝各位。
我在發文之前都只注意自動登入這段,沒有仔細看建立連線過程。
提供金鑰的方向是跟自動登入相反。
但還是覺得很怪,
這段不像自動登入的金鑰會要手動產生都是自動的。
實在搞不懂為什麼我們要copy檔案給他們。
另外你有提到除非對方要的是private key。
為什麼對方會要private key?這不合理啊。
老實講對方是銀行,我們是使用他們的金流服務。
所以他們會傳來一些交易資料。
這是他們既有的服務,而且我一直認為銀行的IT
應該是很厲害不會提什麼奇怪又不合理的要求才是。


避免 mitm attack 吧, 銀行規範上都會比較謹慎.

horse 2014-03-29 10:34 AM

我猜想應該是對方要你的 private key 給他, 讓他可用此 private key 直接登入.

若你的系統為 Linux, 可用以下方式:
#### 設定 ssh key #####
ssh-keygen -t rsa
cd .ssh
cat id_rsa.pub >> authorized_keys

將 id_rsa 此 private key 給對方, 對方即可用此 key, sftp 登入
-----------------------------------------
而若要讓對方只能用 sftp 登入, 並且 chroot 到某目錄, 而且無法用 ssh 登入操作系統, 可參考以下:

Restricting Users To SFTP Plus Setting Up Chrooted SSH/SFTP


所有的時間均為GMT +8。 現在的時間是04:57 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2026。