SSH容器,当连接到公共IP时,“连接被拒绝”

时间:2016-07-26 04:41:15

标签: ssh containers ibm-cloud connection-refused

我正在使用IBM Bluemix和Docker。

[我的目标] 我想创建一个容器。我从网站上发现我们可以使用SSH作为“root”用户登录。所以我想我也可以在这个容器上安装maven和MySQL。虽然IBM Container是基于Docker的文件系统,但我们可以将容器视为Linux虚拟机(如果错误,请纠正我)。

我发现了一个类似的问题here,其中njleviere表示端口22已关闭。如何确定端口是打开还是关闭?如果它已关闭,我该如何打开它?另外,我认为端口22实际上是打开的。

[问题描述] 我主要关注this website,但我使用的是Ubuntu和SSH而不是Putty。

首先,我使用CONCAT创建密钥文件。对于文件名,我尝试了“cloud”和“cloud.key”。都失败了。所以我认为密钥的名称无关紧要(如果错误,请纠正我)。

我打开g.name LIKE s.piece键。密钥文件末尾有一个ssh-keygen标记。我不确定是否应该包含此标记。所以我尝试了几件事:

  1. .pub
  2. "yu@yu-VirtualBox"
  3. ssh-rsa KeyString yu@yu-VirtualBox
  4. 全部失败。

    然后我创建了容器。我选择ssh-rsa KeyString。鉴于我之前创建的公共IP(已经从任何容器解除绑定),我在公共端口添加了22。并将KeyString粘贴到SSH密钥。几分钟后,容器开始运转。以下两个链接是Bluemix控制台在创建容器时的屏幕截图。

    然后我可以在https://169.44.124.121:9080的浏览器中看到端口9080的默认页面。它说“欢迎使用Liberty”和“WebSphere Application Server V8.5.5.9”。

    然后我输入(cloud和cloud.pub是密钥文件)

      

    ssh -i cloud root@169.44.124.121

    然后我得到了

      

    ssh:连接到主机169.44.124.121端口22:拒绝连接

    我使用"ibmliberty"检查端口。看起来很好。 我在PORTS下看到"cloud.pub"

    此外,我看到许多程序员使用docker文件来启动IBM Container。我应该切换到docker文件而不是这个IBM控制台Web界面吗?

1 个答案:

答案 0 :(得分:0)

bluemix上的默认ibm-liberty图像不包含sshd。你可以添加它 - 你需要在你的Dockerfile中添加supervisord,sshd和相应的配置。

相反,如果你真正想要的只是一个安全的命令行连接到你的容器,你可以使用cf ic exec或docker exec。 (例如cf ic exec -ti mycontainername bash)这将为您提供一个命令行,而不会产生正在运行的sshd的开销(和安全性暴露)。