从订阅中的azure arm vm inventry生成ssh配置文件
azuresshconfig的Python项目详细描述
从订阅中的azure arm vm inventry生成ssh配置文件
简介
azuresshconfig是一个简单的脚本,用于收集azure arm虚拟 订阅中的计算机(vm)清单并生成ssh配置项 附加到$home/.ssh/config(如果没有 存在)。这就像是ec2ssh或aws-ssh-config的azure版本 这有力地激发了这一倡议。当 您管理许多具有动态IP分配设置和需要 频繁的vm上下操作,导致 分配给虚拟机的IP。在这种情况下,azuresshconfig将明确地 你的ssh生活很轻松。
安装
pip install azuresshconfig
配置
通过执行以下命令生成客户端配置文件模板文件 命令。
azuresshconfig --init
配置客户端配置文件,在其中添加服务 通过azure api访问azure中资源的主体帐户信息。
vi $HOME/.azure/azuresshconfig.json { "subscription_id": "<YOUR SUBSCRIPTION ID>", "client_id": "<YOUR APPLICATION CLIENT IP>", "client_scret": "<YOUR APPLICATION CLIENT SCRET>", "tenant_id": "<YOUR TENANT ID>" }
对于那些不知道如何创建服务主体的人,有一个 伟大的指令:Use Azure CLI to create a service principal to access resources。如果您的 环境,您可以创建服务主体并配置其 使用一个命令'az ad sp'访问你的azure资源 为RBAC'创建。
假设你的应用程序id uri是'http://unofficialism.info'和你想要的角色 要为应用程序提供“reader”,可以创建服务主体 像这样:
az ad sp create-for-rbac -n "http://unofficialism.info" --role reader
你会得到这样的输出,用它们你可以填写 客户端配置文件:
{ "appId": "c36x4b4f-bef6-422e-bd3b-65057e7ab065", # -> client_id in client profile file "displayName": "azure-cli-2017-03-30-05-16-59", "name": "http://unofficialism.info", "password": "32126d32-7453-4053-3353-c420d4ffef2e", # -> client_scret in client profile file "tenant": "72f988bf-86f1-41af-91cb-2d7cd011db47" # -> tenant_id in client profile file }
有关服务主体角色的详细信息,请参阅Built-in roles for Azure Role-Based Access Control。
用法
假设所有必需的软件包都已安装并正确配置, 您已经准备好运行azuresshconfig
``` azuresshconfig–帮助
用法:azuresshconfig.py[-h][–version][–init][–profile profile] [–输出