通過sftp命令行上傳文件至Akamai CDN
在嘗試上傳文件到Akamai時順便學會了一個新linux命令sftp。
我做這個上傳接口擁有的資源是:我的文件,akamai的域名地址,用戶名,已申請並獲得權限的公私鑰和一個指定的文件夾目錄。基於這些條件,我需要知道:
- 如何通過sftp用指定密鑰登錄Akamai
- 如何通過sftp上傳文件
通過查詢sftp文檔,瞭解到登陸ftp服務器非常簡單,只需鍵入以下命令:
sftp <user>@<host>:<path>
便會進入sftp的命令行模式:sftp >
。
但在實驗中,遇到ssh會因沒有將域名加入白名單域名列表中可能有安全隱患而報錯。這個白名單域名列表在linux和mac系統中存在於路徑~/.ssh/config
,跟我們已獲得權限的ssh密鑰存在於同一文件夾下。這個文件中需要包含以下內容:
Host <host>
HostKeyAlgorithms=+ssh-dss
然後只需繼續使用命令行便可以上傳:
sftp > put <file_path>
也可以做一些其他在linux系統上可以做的同樣的文件操作。如創建文件夾:
sftp > mkdir <folder>
另外,由於我想使用指定密鑰,stackoverflow到了以下非常有用的指定私鑰文件地址的方法:
sftp -oIdentityFile=/path/to/key