2016-07-26 61 views
0

我正在使用IBM Bluemix和Docker。IBM Container,當SSH連接到公共IP時出現「連接被拒絕」

[我的目標]我想創建一個容器。我從網站上發現,我們可以使用SSH以「root」用戶身份登錄。所以我想我也可以在這個容器上安裝maven和MySQL。儘管IBM Container是基於Docker的文件系統,但我們可以像容器一樣處理容器(如果錯誤,請糾正我)。

我發現了類似的問題here,其中njleviere表示22號港口已關閉。如何確定端口是打開還是關閉?如果它關閉了,我該如何打開它?另外,我認爲22號港口實際上是開放的。

[問題描述]我主要遵循this website,但我使用的是Ubuntu和SSH,而不是Putty。

首先,我用ssh-keygen創建密鑰文件。對於文件名,我嘗試了「雲」和「cloud.key」。兩個失敗。所以我認爲鑰匙的名字並不重要(如果錯誤,請糾正我)。

我打開.pub鍵。密鑰文件末尾有一個"[email protected]"標籤。我不確定是否應該包含此標記。所以,我想幾件事情:

  1. ssh-rsa KeyString [email protected]
  2. ssh-rsa KeyString
  3. KeyString

都失敗了。

然後我創建了容器。我選擇"ibmliberty"。鑑於我之前創建的公共IP(已經從任何容器中解除綁定),我向公共端口添加了22個。並將"cloud.pub"粘貼到SSH密鑰。幾分鐘後,容器開始運行。以下兩個鏈接是創建容器時Bluemix控制檯的屏幕截圖。

然後,我可以在瀏覽器中看到端口9080的默認頁面,用於https://169.44.124.121:9080。它表示「歡迎使用Liberty」和「WebSphere Application Server V8.5.5.9」。

然後我輸入(雲和cloud.pub是關鍵文件)

SSH -i雲[email protected]

然後我得到的

SSH :連接到主機169.44.124.121端口22:連接被拒絕

我用cf ic ps來檢查端口。它看起來很好。 我在PORTS下看到169.44.124.121:22->22/tcp

此外,我看到許多程序員使用docker文件啓動IBM Container。我應該切換到docker文件而不是此IBM控制檯Web界面嗎?

+0

爲了檢查外部端口是否關閉/打開,我使用[打開端口檢查器](http://www.yougetsignal.com/tools/open-ports/)。對於本地端口,您可以使用nmap。這可以幫助您確定它是否完全打開。 – Himself12794

回答

0

bluemix上的默認ibm-liberty圖像不包含sshd。你可以添加它 - 你需要爲你的Dockerfile添加supervisord,sshd和適當的配置。相反,如果你真正想要的只是一個安全的命令行連接到你的容器中,你可以使用cf ic exec或docker exec。 (例如cf ic exec -ti mycontainername bash)這會爲您提供一條命令行,而不會產生運行sshd的開銷(和安全風險)。

相關問題