Azure CLI:我不处理协议

时间:2018-12-24 16:15:55

标签: git azure-cli

我正在尝试从私人存储库安装文件。我正在使用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'

但是它似乎没有帮助。我希望对此有任何指点

1 个答案:

答案 0 :(得分:1)

用于将文字用户名和密码编码为httphttps URL的语法为:https://user:password@host.example.com/text?passed&to=host。也就是说,user:password部分在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

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