如何使用获取cf ssh-code密码

How to use get cf ssh-code password

我们正在使用 CF Diego API 2.89 版本,目前我能够使用它并在 运行ning cf ssh myApp 时看到 vcap 和应用程序资源。 现在变得更难了:-)

我想部署 App1,它将 "talk" 与 "APP2" 并可以通过代码 (node.js) 访问它 文件系统 (当你 运行 ls 时它在命令行中可用...),是吗可能吗?

我找到了这个库,它提供了通过代码连接到 ssh 的能力,但不确定我应该在主机端口等中放什么

在连接中我提供了 密码 应该被检索 通过代码

编辑

});
}).connect({
host: 'ssh.cf.mydomain.com',
port: 2222,
username: 'cf:181c32e2-7096-45b6-9ae6-1df4dbd74782/0',
password:'qG0Ztpu1Dh'

});

现在,当我使用 cf ssh-code(获取密码)时,我收到了很多请求,我尝试通过邮递员模拟这些请求但没有成功, 有人可以帮忙吗? 我需要以某种方式获取密码值... 如果我不提供它,我会收到以下错误:

SSH Error: All configured authentication methods failed

顺便说一句,假设我不能使用 CF 网络功能、卷服务,而且我知道容器是临时的....

我专门与 PCF 合作,所以请对您的 Bluemix 平台持保留意见。

如果您需要查看App2从App1创建的文件,您需要的是一个公共资源。

您可以将 S3 资源作为 CUPS 服务注入并创建服务实例并绑定到两个应用程序。这样两者都将读取/写入相同的 S3 端点。

快速 Google 搜索 Bluemix S3 资源显示 - https://console.bluemix.net/catalog/infrastructure/cloud_object_storage


Pivotal Cloud Foundry 1.11 版附带 Volume Services

Bluemix 似乎有类似的资源 - https://console.bluemix.net/docs/containers/container_volumes_ov.html#container_volumes_ov

您可能想尝试一下。

当您 运行 cf ssh 时幕后发生的过程被记录在案 here

  1. 获取一个ssh token,这个和运行ning cf ssh-code一样,只是从UAA获取一个auth code。如果您 运行 CF_TRACE=true cf ssh-code 您可以确切地看到它在幕后做了什么来获取该代码。

  2. 然后您需要一个 SSH 客户端(可能是一个编程客户端)使用以下详细信息进行连接:

    • 端口 -> 2222
    • 用户 -> cf:<app-guid>/<app-instance-number>(例如:cf:54cccad6-9bba-45c6-bb52-83f56d765ff4/0`)
    • host -> ssh.system_domain(不确定的话看cf curl /v2/info

话虽如此,但不要走这条路。这是个坏主意。每个应用程序实例的文件系统都是临时的。即使您从其他应用程序实例连接以共享本地文件系统,您仍然可以很容易地丢失该文件系统的内容 (cf restart),并且可能出于您无法控制的原因(意外的应用程序崩溃、平台管理员进行滚动升级等)。

而是将文件存储在外部,可能在 S3 或类似服务上,或者考虑使用 Volume 服务。