【问题标题】:IBM Container , "Connection refused" when SSH to the public IPIBM Container,SSH 到公共 IP 时“连接被拒绝”
【发布时间】:2016-11-29 14:03:06
【问题描述】:

我正在使用 IBM Bluemix 和 Docker。

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

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

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

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

我打开.pub 键。密钥文件末尾有一个"yu@yu-VirtualBox" 标签。我不确定是否应该包含此标签。所以我尝试了几件事:

  1. ssh-rsa KeyString yu@yu-VirtualBox
  2. ssh-rsa KeyString
  3. KeyString

全部失败。

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

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

然后我输入(cloud 和 cloud.pub 是关键文件)

ssh -i 云根@169.44.124.121

然后我得到了

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

我使用cf ic ps 来检查端口。看起来不错。 我在 PORTS 下看到了169.44.124.121:22->22/tcp

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

【问题讨论】:

  • 为了检查外部端口是否关闭/打开,我使用Open Port Checker。对于本地端口,您可以使用 nmap。这可以帮助您确定它是否完全开放。

标签: ssh containers ibm-cloud connection-refused


【解决方案1】:

bluemix 上的默认 ibm-liberty 映像不包括 sshd。您可以添加它 - 您需要将 supervisord、sshd 和适当的配置添加到您的 Dockerfile 中。

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

【讨论】:

    猜你喜欢
    • 2021-10-15
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2019-12-11
    • 2014-06-17
    • 1970-01-01
    • 2017-08-24
    • 2022-01-07
    相关资源
    最近更新 更多