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免費空間

在Google News上追蹤我們最新文章
香腸
香腸

喜歡在網路上透過文字與圖片分文章教學,默默地用鍵盤烤了9年的香腸。另外還身兼阿腸接案餬口飯吃。對了,別叫我阿腸,請叫我香腸,這樣我才知道你看我部落格長大的。

文章: 1781

57 則留言

  1. 我私鑰是儲存在 C:qm_sell_ftp_RSA_private_key.ppk
    一樣會錯誤, 為什麼?
    錯誤: Disconnected: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)

  2. 太棒的教學了~~~謝謝你!得要在短短的幾天內從0架起一個網站,但自己對這種東西完全不了解,依照這個詳細的教學照做的話連白痴都弄得起來!!謝謝你!!
    或許可以在內文提示一下讀者,private key得要存在電腦內路徑名稱裡「只有英文字元」的路徑裡(如下方討論內容內所提到),不然就可能會遇到”Disconnected: No supported authentication methods available”無法連線的錯誤訊息

    • 打開Mac的終端機,然後輸入ssh-keygen -t rsa

      接著命名後系統會幫您儲存檔案, for example:

      Enter file in which to save the key (/Users/LaiHal/.ssh/id_rsa): id_rsa

      Enter passphrase (empty for no passphrase): (空白)

      Enter same passphrase again: (空白)

      Your identification has been saved in id_rsa.

      Your public key has been saved in id_rsa.pub.

      就可以繼續按照版大方式了完成程序了

  3. openshift 只有提供CNAME 綁定我們的空間,可是假如我註冊了一個 aaa.com的網域,我沒辦法直接將aaa.com綁定到我的 Openshift 網站,還得另外新增一個子網域(ex:www.aaa.com)才有辦法綁定到Openshift 的空間。
    一直以來我都是使用Cloudns(http://www.cloudns.net)所提供的網頁轉址服務讓我的網站可以從 aaa.com 轉址至 http://www.aaa.com,但是我還是有點不滿這樣的做法,如何不要透過轉址,直接讓 aaa.com 連到我openshift的空間?
    又若Openshift 無法直接與aaa.com做綁定,那我想要將我的dns代管移到cloudflare(無法設定轉址功能了),還有什麼替代方案可以使 aaa.com 轉址到 http://www.aaa.com?

  4. 感謝香腸超級詳實的步驟解說
    正當我好開心的覺得快要完成的時候
    最後一個步驟進不去
    一直無法順利連線 顯示

    錯誤: Disconnected: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)
    錯誤: 無法連線到伺服器

    好痛苦啊~~~金鑰已經重設三次了~~太痛苦了
    好想完成喔!

  5. 請問版主myAdmin匯好了以後要去改Connections嗎?文件管理器在哪裡?

    網頁只有顯示出靜態頁面??

    另外如果有PHP寄信功能要怎樣作後台設定設定?才可使網頁寄出信

    謝謝

  6. 您好 感謝寫這系列的問題
    有一個小地方 我卡住了 就是 文章設定FTP那邊沒有說要設定22port 我沒打會變成80
    說不定有人也會卡在這裡 如果方便的話 加上22 的說明 會比較好
    謝謝

  7. 我是一個完全門外漢,第一次架設網站,我的問題跟secret一樣,一直出現

    指令:
    keyfile “C:Documents and SettingsAdministrator桌面private.ppk”

    指令: open
    [email protected]” 22

    指令: 信任新的主機金鑰: 一次

    錯誤:
    Disconnected: No supported authentication methods available (server sent:
    publickey,gssapi-keyex,gssapi-with-mic)

    錯誤: 無法連線到伺服器

    請問WinSCP是甚麼,可否指點後輩如何安裝使用,否則WORDPRESS只裝半套,拜託前輩們賜教。

    • WinSCP 算是把SSH圖像化: http://download.sofree.cc/winscp.html

      你也可以自行研究看看可否透過她處理囉~
      你的問題我也遇過(本文上方有提到),單純是你金鑰部分未設定好,
      可能您需要再看仔細一點教學,才會自己找到問題所在。
      另外網友 @belenuslele:disqus 也有提到,很可能是你金鑰位置是中文路徑,所以無法正確使用。

      我自己在這部分也卡很久,後來慢慢摸才找到 :P

  8. 一直顯示Disconnected: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic),不過改用WinSCP就可以用了…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料