OpenShift 設定SFTP上傳下載檔案

我有申請一個免費的OpenShift空間,安裝Wordpress。
OpenShift支援SSH登入管理,但是並沒有支援FTP,
所以想要上傳下載檔案,就只能依靠SFTP來完成。

但是OpenShift並不是以帳號密碼來登入SSH及SFTP,
而是以公、私鑰的方式進行認證。

第一我們要先取得一組公、私鑰,以puttygen來產生。

下載網址:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

開啟puttygen的程式,選擇「SSH-2 RSA」並按下「Generate」產生key,
產生key的過程中,滑鼠必須在指定的位置來回移動。

順利產生key之後,把下圖紅框的Public Key給複製下來。

按下「Save private key」將私鑰給儲存,記得儲存下來的路徑檔名。


接著登入OpenShift網站,選擇自己的網站,再選擇「Settings」

按下「Add a new key...」

自訂一個「key name」,並將上面我們記錄下的Public Key貼上去

接著回到上一頁,複製「Source Code」內的字串,如下圖紅色框處

接著開啟支援SFTP的軟體,如filezilla client、WinSCP,
我是用WinSCP來使用SFTP,所以下面以WinSCP來做範例,
其他支援SFTP的軟體,步驟也大致一樣要把私鑰匯進來。
開啟WinSCP,選擇「New Site」,確定「檔案協定」為「SFTP」,
「主機名稱」就需要技巧了,記得上一步的「Source Code」字串,
例如:ssh://12345Abcde@blog-Site.rhcloud.com/~/git/blog.git/,
其中「12345Abcde」就是帳號;「blog-Site.rhcloud.com」是主機名。
所以「主機名稱」可以填上「12345Abcde@blog-Site.rhcloud.com」,
下一步就是按下「進階」,開啟進階的設定畫面。

在進階的設定畫面中(進階站台設定),選擇「SSH」底下的「認證」,
接著在「私人金鑰檔案」中選擇我們上面步驟儲存的私鑰檔案及路徑。
按下「確定」回到主頁後再按下「儲存」就可以了。

我們在WinSCP主畫面中按下「登入」後,就可以使用SFTP來上傳下載檔案。
Wordpress的根目錄在「家目錄」的/app-root/repo/php/底下。

利用Plink替代Putty來建立Script