我有兴趣使用ssh、scp和sftp等客户端工具与我的 IBM Bluemix CloudFoundry 应用程序进行交互。
具体来说,有一个由我的应用程序 Web 安装程序创建的动态生成的文件/文件夹,我想在本地下载到我的笔记本电脑。
我已经阅读了最近的 Diego 启用,并且我对利用这里讨论的 diego-ssh 代理身份验证功能感兴趣。
使用 Cloud Foundry cf命令行界面并按照此处找到的 diego-ssh 指南,您可以完成客户端代理身份验证,如下所示:
$ cf ssh 代码 | pbcopy # 在提示输入密码时粘贴授权码
然后可以将此授权代码用作调用命令的密码,例如:
# 直接 SSH 客户端交互 $ ssh -p 2222 cf:$(cf app your_bluemix_app_name --guid)/0@ api.ng.bluemix.net # 安全复制 $ scp -P 2222 -oUser=cf:$(cf app your_bluemix_app_name --guid)/0 my-local-file.json api.ng.bluemix.net :my-remote-file.json # 安全 FTP 传输 (GET, PUT, ...) $ sftp -P 2222 cf:$(cf app your_bluemix_app_name --guid)/0@ api.ng.bluemix.net
Bluemix 的关键细节是了解其 CF API 端点:
Region Name CF API Endpoint
US South Region api.ng.bluemix.net
United Kingdom Region api.eu-gb.bluemix.net
Sydney region api.au-syd.bluemix.net
通过这些客户端的某种组合,您可以在本地和 Bluemix CF App 环境之间无缝移动文件,以满足最终用户的各种开发需求。
这是一个示例交互:
$ sftp -P 2222 cf:$(cf app goldi --guid)/0@api.ng.bluemix.net 无法确定主机'[api.ng.bluemix.net]:2222([158.85.156.18]:2222)'的真实性。 RSA 密钥指纹为 SHA256:ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8。 您确定要继续连接(是/否)?是的 警告:将 '[api.ng.bluemix.net]:2222,[158.85.156.18]:2222' (RSA) 永久添加到已知主机列表中。 cf:59xxxxxx3-4xxa-4xxx-xxxe-x0x@api.ng.bluemix.net 的密码: 连接到 api.ng.bluemix.net。 sftp>