OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

OpenShift最為彈性的地方就是SSH權限,不過在取得SSH權限之前,大家最想要的還是FTP權限,可是在後台並沒有看到相關的連線資訊或是啟用方式,該怎麼做?事實上要使用OpenShift的FTP,你必須透過所謂的SSH來進行,可是這東西對大多數使用者來說是一個陌生的東西,該如何用最簡單的方式、圖像化的方式來取得FTP使用呢?別怕,交給PuTTYgenFileZilla就可解決。

想要使用OpenShift,首先我們必須使用PuTTYgen來產生RSA的公鑰和私鑰,接著將公鑰設定到OpenShift系統後台,接著私鑰存放在本機電腦,緊接著開啟你的FileZilla軟體,將RSA私鑰匯入進去,並且設定一個新連線,輸入好位置與使用者帳號,並選擇透過SFTP的方式+交談式介面,就可以輕鬆連上FTP做檔案存取了,不過過程中麻煩的是產生RSA金鑰。

OpenShift 系列教學

一、申請免費空間、安裝WordPress
二、管理MySQL資料庫,自動安裝phpMyAdmin
三、取得FTP,透過FileZilla使用sftp連線管理
四、升級 WordPress 為正體中文化版

接續前一篇的phpMyAdmin,當你取得資料庫可以控管後,那程式原始碼呢?該怎麼控管?OpenShift預設是讓我們透過SSH進行指令界面的操作與設定,不過多數使用者還是習慣使用圖像式介面來來取代指令介面,所以如同前面提到,我們可以透過FileZilla內建的SFTP功能,來進行SSH的FTP連線,但前提是我們要先產生好所謂的RSA金鑰(公鑰+私鑰)。這是一個複雜的演算法,有興趣可以上網自行查詢,不過在此我們僅需知道如何產生並使用即可。

要產生RSA金鑰,我們可以利用免費軟體PuTTY Key Generator 這軟體來幫我們產生RSA的公鑰與私鑰,不過這邊比較容易遇到狀況是金鑰部分複製錯誤,導致無法正確連線。香腸在這邊大該摸索了兩三小時才找到原因,不然過程中還遇到「Disconnected: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)」這一類的錯誤,看上去網路上都沒有人回答,但經過自己實際操作,僅單純公鑰和私鑰對應不上而已,重新產生並貼上即可解決問題。

一、使用PuTTYgen產生RSA金鑰(公鑰+私鑰)

第1步  首先你必須下載PuTTy Key Generator,啟動軟體後請選【SSH-2 RSA】,右下角可以輸入「2048」,最後點選﹝Generate﹞。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第2步  但請注意,當你點選產生金鑰後,滑鼠請在綠色跑條下方區塊作滑動,因為他會偵測你的滑鼠位置當成變數/參數,進行雜湊加密計算,所以當你滑鼠不移動/滑動,跑條也不會跑,金鑰就不會產生了。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第3步  當產生完畢後,請先複製上方區塊內的公鑰,然後別忘記點選下方【Save Private key】進行私鑰的儲存。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第4步  請在電腦內找個地方儲存好,以後FTP連線都會用到,檔案名稱可以儲存「private」,副檔名請使用「.ppk」。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第5步  儲存好後,就是一個「private.ppk」檔案了。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第6步  這時請回到OpenShift網站上,點選左上角的「Applications」進入你之前建立的空間,然後找到右側的「add an SSH public key to your account」。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第7步  請在「key name」輸入金鑰名稱,可以自訂,建議使用英文。下方的區塊,請貼上剛剛第3步驟我們所複製的公鑰。這串公鑰的開頭會是「ssh-rsa」,如果不是可能就有弄錯了。輸入完畢請點選﹝Create﹞。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第8步  當公鑰輸入成功後。會顯示「Yout public key has been created」告知你公鑰已經建立完成,在下方也可以看到目前新增的公鑰。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第9步  再次回到空間管理介面,這回請點選下右側下方的「Want to log in to your application?」。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第10步  這時候會顯示出一個框框,開頭會是「SSH」後面會帶一長串,這就是SSH的登錄連線資訊了!整串連線資訊如:「ssh [email protected]」。請先將這串紀錄儲存好。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

 

二、利用FileZilla進行SFTP連線

取得RSA金鑰並將它們匯入到OpenShift之後,接下來我們要利用私鑰並搭配FileZilla進行FTP連線取得原始檔案,作法很簡單,請先下載安裝好FileZilla並啟動。

第1步  啟動FileZilla後,點選上方【編輯】→【設定】。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第2步  接著會談出設定視窗,請點選左方「連線」→「SFTP」,然後點選﹝加入金鑰檔案﹞。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第3步  找到剛剛我們儲存下來的RSA私鑰檔案「private.ppk」,選取使用。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第4步  加入成功後,會在FileZilla內顯示這個私鑰,請點選﹝確認﹞。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第5步 接著請點選左上角【檔案】→【站台管理員】。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第6步  這時會跳出站台管理員,請點左側﹝新增站台﹞,右側部分請切換到「一般設定」。還記得前面我們複製到一串SSH相關的字串嗎?請按照下方說明,輸入完成請點﹝連線﹞。

大概長這樣:「ssh 657a8021a0c8de1234500013@app-your.rhcloud.com」。

  • 主機:app-your.rhcloud.com
  • 連接埠:22 (預設可不填,若連不上可以嘗試填寫22)
  • 協定:SFTP – SSH File Transfer Protocol
  • 登入型式:交談式
  • 使用者:657a8021a0c8de1234500013

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第7步  這時候密碼部分他會去抓取你設定到FileZilla內的私鑰,第一次連線會要確認是否將此金鑰加入快取,你可以勾選加入或是直接按﹝確認﹞繼續。

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

第8步  沒錯,很快地就讓我們連上FTP了,是不是很簡單呢?

OpenShift 教學(三):取得FTP,透過FileZilla使用sftp連線管理

當連上FTP之後,我們可以做很多事情,下一篇我們將教大家如何修改WordPress語系,讓他變成完整的正體中文介面,讓你可以更快更好上手OpenShift免費空間