salt-api

salt-api是我们通过restful-api调用salt-master的接口,且调用的时候必须通过认证才能调用,认证的用户为系统用户,下面就说说如何配置salt-api。

不带SSL认证

1.创建用户

[root@salt yum.repos.d]# useradd saltapi
[root@salt yum.repos.d]# passwd saltapi # 密码为123456

2.修改salt-master配置文件

[root@salt yum.repos.d]# vim /etc/salt/master
default_include: master.d/*.conf
file_roots:
base:
- /salt/states
dev:
- /salt/dev
prod:
- /salt/prod

3.创建目录与配置文件:

[root@salt yum.repos.d]# cd /etc/salt/
[root@salt yum.repos.d]# mkdir master.d/
[root@salt yum.repos.d]# cd master.d/ [root@salt yum.repos.d]# cat api.conf # 第一个配置文件
rest_cherrypy:
host: 0.0.0.0
port: 8080
debug: true
disable_ssl: true [root@salt yum.repos.d]# cat eauch.conf
external_auth:
pam:
saltapi:
- .*
- '@wheel'
- '@runner'

4.启动slat-api和salt-master

[root@salt yum.repos.d]# /etc/init.d/salt-api start

5.验证操作:

[root@salt ~]# curl -k http://127.0.0.1:8080/login -H "Accept: application/x-yaml" -d username='saltapi' -d password='123456' -d eauth='pam'
return:
- eauth: pam
expire: 1472481375.33111
perms:
- .*
start: 1472438175.331109
token: f9e354170c3311dc716db56d9217338a206ce006
user: saltapi

带SSL认证的

1.更改salt-master配置文件

[root@salt yum.repos.d]# vim /etc/salt/master
default_include: master.d/*.conf # 添加这一行
[root@salt master.d]# mkdir /etc/salt/master.d/ # 创建目录

2.创建key:

[root@salt private]# cd  /etc/pki/tls/private
[root@salt certs]# make testcert
[root@salt certs]# cd ../private/
[root@salt private]# openssl rsa -in localhost.key -out localhost_nopass.key

3.创建目录与配置文件:

[root@salt master.d]# cat api.conf eauth.conf
rest_cherrypy:
port: 8010 监听 的端口
ssl_crt: /etc/pki/tls/certs/localhost.crt crt证书路径不能错误
ssl_key: /etc/pki/tls/private/localhost_nopass.key key路径也不能错误,不然端口死活起不来 external_auth:
pam:
saltapi: 调用系统认证的pam模块做用户认证
- .* 用户

4.启动服务

[root@salt master.d]# /etc/init.d/salt-api start

5.验证操作:

[root@salt master.d]# curl -k https://192.168.1.16:8010/login -H "Accept: application/x-yaml" -d username='saltapi' -d password='123456' -d eauth='pam'
return:
- eauth: pam
expire: 1472007733.0523901
perms:
- .*
start: 1471964533.0523901
token: 9b6a6e82c002b925952e5c930a699286e8096db1
user: saltapi

6.执行命令看看

[root@salt tmp]# curl -k https://172.16.22.129:8010/ -H "Accept: application/x-yaml" -H "X-Auth-Token: 5aa829c1df638221f0b62b25e68f7121a347022e"  -d client="local"  -d tgt='*' -d fun='test.ping'
return:
- web.minion1.com: true curl -k http://172.16.22.129:8010/ -H "Accept: application/x-yaml" -H "X-Auth-Token: f9e354170c3311dc716db56d9217338a206ce006" -d client="local" -d tgt='*' -d fun='grains.items'

saltstack系列1之salt-api配置与使用的更多相关文章

  1. Salt 与Salt API配置

    1.安装 [root@localhost yum.repos.d]# cat /etc/yum.repos.d/salt.repo [saltstack-repo] name=SaltStack re ...

  2. 死磕salt系列-salt API 使用

    启用salt-api 服务 这里简单的说明下,SaltStack官方支持三种REST API,分别是rest_cherry; rest_tonado和rest_wsgi, 本文选择使用rest_che ...

  3. CentOS 安装及配置Salt api

    安装 # yum -y install salt-api 更改配置 vim /etc/salt/master 把默认的注释掉  我们这边默认配置文件目录是/srv/salt default_inclu ...

  4. 17.翻译系列:将Fluent API的配置迁移到单独的类中【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/move-configurations-to-seperate-class-in-cod ...

  5. 10.翻译系列:EF 6中的Fluent API配置【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/fluent-api-in-code-first.aspx EF 6 Code-Firs ...

  6. Dataphin数据服务系列之--API 配置、管理和消费

    研发小哥哥还在为公司里大量 API 只上不下,不可查不可用, 想找的 API 找不到而苦恼吗?业务方小姐姐还在为 API 开发时间长,业务相应不及时而抱怨吐槽吗? 铛铛铛,Dataphin 数据服务 ...

  7. (转)Saltstack系列

    Saltstack系列1:安装配置 Saltstack系列2:Saltstack远程执行命令 Saltstack系列3:Saltstack常用模块及API Saltstack系列4:Saltstack ...

  8. Saltstack系列5:Saltstack之pillar组件

    pillar组件 pillar也是Saltstack最重要的组件之一,其作用是定义与被控主机相关的任何数据,定义好的数据可以被其他组件使用,如模板.state.API等. 在pillar中定义的数据与 ...

  9. EF里的默认映射以及如何使用Data Annotations和Fluent API配置数据库的映射

    I.EF里的默认映射 上篇文章演示的通过定义实体类就可以自动生成数据库,并且EF自动设置了数据库的主键.外键以及表名和字段的类型等,这就是EF里的默认映射.具体分为: 数据库映射:Code First ...

  10. Fluent API 配置

    EF里实体关系配置的方法,有两种: Data Annotation方式配置 也可以 Fluent API 方式配置 Fluent API 配置的方法 EF里的实体关系 Fluent API 配置分为H ...

随机推荐

  1. Oracle 执行报错表空间或临时表空间不足,降低水位线方法

    Oracle 执行语句插入临时表报表空间不足,在增加表空间到最大后依然报错,经分析应该为创建的临时表水位线未清除导致,查询降低水位线方法如下: 原文地址:http://blog.itpub.net/2 ...

  2. HTTP Status 500 PWC6188 jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

    报错如下: 解决方案: 1.可能是依赖引用错了,注意 JSP 应依赖: <!-- JSP --> <dependency> <groupId>javax.servl ...

  3. SpringMVC RedirectView的使用以及源码分析

    看一段普通的代码,我们访问controller中的一个方法后,重定向到另外一个controller或者视图. @RequestMapping(params="method=index&quo ...

  4. CPP_运算符重载及友元

    运算符重载 两种重载方法1)成员函数 a + b => a.operator+(b); 一个参数 2)友元函数 a + b => operator+(a, b); 两个参数. friend ...

  5. phpcms v9 所有当前栏目信息标签

    PHPCMS v9 很多时候在内容页下不关是调用内容页的信息,还会调用当前栏目的相关信息.下面做总结,方便大家找到在内容页想调用的东西当前栏目id:                       {$c ...

  6. [转]Nginx的负载均衡方式

    如果Nginx没有仅仅只能代理一台服务器的话,那它也不可能像今天这么火,Nginx可以配置代理多台服务器,当一台服务器宕机之后,仍能保持系统可用.具体配置过程如下: 1. 在http节点下,添加ups ...

  7. Jvm中时区设置方式

    Jvm中时区设置方式2018年08月08日 08:19:31 liumiaocn 阅读数:156更多个人分类: 编程语言版权声明:本文为博主原创文章,未经博主允许欢迎转载,但请注明出处. https: ...

  8. SpringMVC接受JSON参数详解及常见错误总结

    SpringMVC接受JSON参数详解及常见错误总结 SpringMVC接受JSON参数详解及常见错误总结 最近一段时间不想使用Session了,想感受一下Token这样比较安全,稳健的方式,顺便写一 ...

  9. Spring Cloud 获取注册中心所有服务以及服务下的所有实例

    注册中心现有服务与实例数: 在任意客户端填写如下代码: /** * import org.springframework.cloud.client.ServiceInstance; * import ...

  10. eclipse创建文件夹河包

    资源的平常使用的主要有三种source/fold/package