从订阅中的azure arm vm inventry生成ssh配置文件

azuresshconfig的Python项目详细描述


从订阅中的azure arm vm inventry生成ssh配置文件

简介

azuresshconfig是一个简单的脚本,用于收集azure arm虚拟 订阅中的计算机(vm)清单并生成ssh配置项 附加到$home/.ssh/config(如果没有 存在)。这就像是ec2sshaws-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] [–输出

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java CXF和授权   java在网站中部署使用swing创建的表单   java为什么getHeaderField()返回一个字符串,其中getHeaderFields()返回HttpUrlConnection中的Map<String,List<String>>   java如何检测恶意数据包?   webview中的java网页为空   java SWT图像资源,用于将我的所有图像存储在一个位置   java计算数组的最大长度,使平均值小于给定值   java“发件人电话号码无效”和美国号码   将Swing组件作为内容的自定义Java工具提示不会显示   在并发HashMap中重新灰化期间的java检索   Java 7和Tomcat 7.0.64 ClassFormatException:常量池中的字节标记无效   使用JUnit的java assertNull因NullPointerException失败   java内存中的文件是否与文件系统中的文件大小相同?   循环内实例化的类型的java注入依赖项