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
和
但这似乎没有帮助。我将不胜感激有关此的任何指示
解决方案
将文字用户名和密码编码到http
or https
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
我意识到这是人们用来安装 nodejs 的标准方式(访问https://rpm.nodesource.com/setup_10.x来查看)。我只是希望不是。
推荐阅读
- reactjs - 在 Material UI DatePicker 中聚焦特定日期
- ios - SwiftUI:如何在地图上显示多个图钉?
- d - 为什么按钮没有展开以填满所有空间?
- node.js - 找不到模块“C:\Users\8fwbu\Desktop\CodeTProj\test.js”
- mfc - MFC:应用程序的注册表项添加了随机 GUID 项,并添加了一个名为“Untitled”的空白 REG_SZ 值?
- qt - Qt Grid Layout 让小部件不移动,忽略对齐
- generics - Rust:泛型参数可以有引用其他参数的界限吗?
- r - 使用迁移助手从 Intel 迁移到 Apple Silicon M1 后使用 R 返回错误:Bad CPU type in executable and Undefined error: 0
- c# - 在异步任务中并行使用 WebView2
- jquery - 如何销毁 ASP.net MVC 视图上的现有 jQuery 表,然后重建它?