如何使用get cf ssh-code password

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

我想部署App1 ,它将与“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(要获得密码),我得到很多请求,我试图用Via邮递员模拟没有成功,有人可以协助吗? 我需要以某种方式获取密码值…如果我不提供它,我得到以下错误:

 SSH Error: All configured authentication methods failed 

顺便说一句,让我们说,我不能使用CFnetworkingfunction,批量服务,我知道容器是短暂的….

这里logging了运行cf ssh时幕后发生的过程。

  1. 它获得一个ssh令牌,这跟运行cf ssh-code ,只是从UAA获得一个auth代码。 如果你运行CF_TRACE=true cf ssh-code你可以看到它在幕后做了些什么来获得代码。

  2. 然后你需要一个SSH客户端(可能是一个编程的)来连接使用以下细节:

    • 端口 – > 2222
    • user – > cf:<app-guid>/<app-instance-number> (例如:cf:54cccad6-9bba-45c6-bb52-83f56d765ff4 / 0`)
    • 主机 – > ssh.system_domain(如果你不确定,看看cf curl /v2/info

话虽如此,不要走这条路。 这是一个坏主意。 每个应用程序实例的文件系统是短暂的。 即使你从其他应用程序实例连接来共享本地文件系统,仍然可以很容易地丢失该文件系统的内容( cf restart ),并可能由于你的控制之外的原因(意外的应用程序崩溃,平台pipe理员做一个滚动升级等)。

而是将文件存储在外部,也许在S3或类似的服务上,或者看看使用卷服务。

我已经完全使用PCF,所以请根据您的Bluemix平台提出一些build议。

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

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

快速GooglesearchBluemix S3资源显示 – https://console.bluemix.net/catalog/infrastructure/cloud_object_storage


Pivotal Cloud Foundry 1.11版本提供批量服务 。

看起来像Bluemix有一个类似的资源 – https://console.bluemix.net/docs/containers/container_volumes_ov.html#container_volumes_ov

你可能想要尝试一下。