Azure CLI:我不处理协议

Posted

技术标签:

【中文标题】Azure CLI:我不处理协议【英文标题】:Azure CLI: I dont handle protocol 【发布时间】:2019-05-23 17:54:35 【问题描述】:

我正在尝试从私人仓库安装文件。我正在使用 azure cli run 命令来调用这些操作。

运行命令如下所示:

az vm run-command invoke --name $MONITOR_VM_NAME \
            --command-id RunShellScript \
            --resource-group $RSC_GRP_NAME \
            --scripts "
                        curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash 
                        sudo yum -y install nodejs
                        cd /etc/
                        sudo git clone \$REPO_USER_NAME:\$REPO_PASSWORD@https://bar.visualstudio.com/Foo/_git/Eth-Netstats

           "

不幸的是,我在输出中收到了这个:

致命:我不处理协议 ':@https'

我看过这里:

https://github.com/brackets-userland/brackets-git/issues/965

git: fatal: I don't handle protocol '​​http'

但它似乎没有帮助。我会很感激这方面的任何指示

【问题讨论】:

将文字用户名和密码编码为httphttps URL 的语法为:https://user:password@host.example.com/text?passed&to=host。也就是说,user:password 部分 https:// 部分之后,在主机名之前。 谢谢我这么傻。请添加为答案,以便我接受它 【参考方案1】:

将文字用户名和密码编码为httphttps URL 的语法为:https://<em>user</em>:<em>password</em>@host.example.com/text?passed&amp;to=host。也就是说,<em>user</em>:<em>password</em> 部分在 https:// 部分之后,在主机名之前。

(以上内容是从评论中移来的,并进行了一些格式化。)

请注意,ssh URL 可以使用类似的形式:ssh://user:password@host.example.com/...,尽管在 ssh URL 中包含明文密码会更糟糕,因为 ssh 很难防止明文密码。 (明文密码在任何地方都是个坏主意,但至少在使用 https 时,人们有理由认为该领域的标准化程度较低。)但 Git 有一种特殊的形式,将 user@host:... 识别为 ssh://user@host/... 的简写。

除此之外:我在上面表达的安全问题完全被排除在外:

curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash

我意识到这是人们用来安装 nodejs 的标准方式(访问https://rpm.nodesource.com/setup_10.x 以查看)。我只是希望不是。

【讨论】:

以上是关于Azure CLI:我不处理协议的主要内容,如果未能解决你的问题,请参考以下文章

Azure 函数:在异步函数中使用 Apollo Azure 处理程序

如何使用 Azure Devops CLI 下载构建工件?

如何使用 Azure.Data.Tables.TableClient 进行事务处理?

您如何使用Azure Devops CLI下载构建工件?

如何在 azure wcf 中继中处理双工 wcf

Azure 服务总线 - 删除特定消息