Nodejs 在 OpenShift 上的 SSH 连接问题

Nodejs 在 OpenShift 上的 SSH 连接问题

想在OpenShift上建立应用,但无论如何拿PuTTY/SecureCRT都连不上,是因为SSH被禁了吗?我拿G0agent“爬"好像也没有。 请老鸟给予帮助、建议。 感激不尽!

7 回复

Nodejs 在 OpenShift 上的 SSH 连接问题

在使用 OpenShift 部署 Node.js 应用时,你可能会遇到 SSH 连接问题。这可能是由于多种原因造成的,包括但不限于 SSH 端口限制、防火墙设置或 SSH 密钥配置错误。以下是一些可能的解决方案和建议。

1. 检查 SSH 端口

OpenShift 默认允许通过端口 22 (SSH) 和 80 (HTTP) 访问你的应用。你可以通过以下步骤检查是否可以连接到 SSH 端口:

# 使用 OpenShift 提供的默认 SSH 端口 22
ssh -i <path-to-your-private-key> <username>@<your-app-domain>

如果无法连接,尝试使用 telnetnc(netcat)命令检查端口是否开放:

# 使用 telnet
telnet <your-app-domain> 22

# 或者使用 netcat
nc -zv <your-app-domain> 22

2. 检查 SSH 密钥

确保你使用的私钥文件是正确的,并且与你在 OpenShift 上注册的公钥匹配。你可以通过以下步骤验证:

# 查看本地私钥文件内容
cat <path-to-your-private-key>

# 在 OpenShift 控制台中查看已注册的公钥
oc whoami --show-public-key

3. 使用 SSH 跳板机

如果你仍然无法直接连接,可以考虑使用跳板机来访问你的应用。例如,使用 G0Agent 或其他代理工具:

# 使用 G0Agent
g0agent -l 127.0.0.1:2222 -r <your-app-domain>:22

然后,你可以通过本地端口 2222 连接到你的应用:

ssh -i <path-to-your-private-key> <username>@localhost -p 2222

4. 检查防火墙和安全组设置

确保你的防火墙或云服务提供商的安全组规则允许从你的 IP 地址访问端口 22。你可以在 OpenShift 控制台或云服务提供商的管理界面中检查这些设置。

5. 查看 OpenShift 文档和社区支持

最后,查阅 OpenShift 的官方文档和社区论坛,看看是否有其他用户遇到类似的问题并找到了解决方案。OpenShift 的官方文档通常会提供详细的配置指南和故障排除步骤。

希望这些建议能帮助你解决问题。如果还有其他疑问,欢迎继续提问!


key需要转换一下的

谢谢回复。 key转换过了。出现的问题是connection timed out. 试了几个客户端都是这种情况。正在试UBUNTU看看运气如何。

不会是被墙了吧,挂个代理试试

虚拟机装了Ubuntu,试了OpenShift和AppFog,均是22号端口被墙,拿G0Agent也无法翻过去。无法管理MySql。 OpenShift连Git Clone也无法执行;AppFog可以拿af指令同步代码-看看能否通过网页注入SQL语句解决问题。大家一般就别努力了。

如果有连上的,请提醒我一下。谢谢!

实在没招,只好写了个操作数据库的app传上去,在html客户端来操控mysql(建删表、增删改查等),好在数据库不太复杂Node.js便捷…

下一步,测试产品、注册公司、找付费云代理,上线…全看运气了…

在 OpenShift 上,SSH 访问默认是启用的,但有一些安全配置和步骤需要遵循。以下是一些可能的原因及解决方案:

  1. 检查 SSH 端口

    • 默认情况下,OpenShift 使用 2222 端口进行 SSH 访问。确保你在 PuTTY 或 SecureCRT 中使用的是正确的端口号。
  2. 使用正确的用户名和 IP 地址

    • 确保你使用的是正确的用户名(通常是 yourapp)和正确的 IP 地址(可以在 OpenShift 控制台中找到)。
  3. 检查 SSH 密钥

    • 确保你已经生成了 SSH 密钥对,并且公钥已添加到你的 OpenShift 应用中。
    • 你可以通过以下命令生成 SSH 密钥对:
      ssh-keygen -t rsa
      
    • 将生成的公钥(id_rsa.pub 文件的内容)添加到 OpenShift 应用中。
  4. 检查防火墙设置

    • 确保没有防火墙阻止访问 OpenShift 的 SSH 端口。
  5. 使用 oc 命令行工具

    • 你可以尝试使用 oc 命令行工具来验证 SSH 连接是否正常。例如:
      oc rsh <pod_name>
      
  6. 检查应用状态

    • 确保你的应用正在运行并且没有错误。

如果以上步骤都没有解决问题,可以尝试重启应用或重新创建 SSH 密钥对。

希望这些建议能帮助你解决问题!

回到顶部