1. 程式人生 > >第二篇:salt-api使用填坑指南

第二篇:salt-api使用填坑指南

fig ken service accep disable root alt nio con

前言

salt-api在使用時,有些坑欲哭無淚,一路趟雷過後,總結了一趟salt-pai使用填坑指南,保君一路暢通。

salt-api 安裝

#本文的安裝版本 2018.3.2-1.el6
yum install salt-api.noarch 

centos 6

checkconfig salt-api on
service salt-api start

centos 7

systemctl enable salt-api.service
systemctl start salt-api

salt-api 配置

cd /etc/salt/master.d/
vi api.conf

內網不安全,需要使用秘鑰加密,請問度娘

rest_tornado:
    port: 8888
    #ssl_crt: /etc/pki/tls/certs/localhost.crt
    #ssl_key: /etc/pki/tls/private/localhost_nopass.key
    debug: True
    disable_ssl: True

rest_cherrypy:
    port: 8889
    #ssl_crt: /etc/pki/tls/certs/localhost.crt
    #ssl_key: /etc/pki/tls/private/localhost_nopass.key
    debug: True
    disable_ssl: True
vi eauth.conf
external_auth:
  pam:
    saltapi:
      - .*
      - ‘@runner‘  
      - ‘@wheel‘

pam 表示salt-api的驗證采用Linux系統自帶的pam驗證,就是基於Linux用戶的驗證方式

saltapi 這個是Linux用戶,所以salt-api就可以基於Linux用戶密碼進行驗證

useradd  saltapi
passwd saltapi

註意暫時不要設置saltapi用戶為nologin,不然你會後悔的
saltapi用戶密碼用 saltapipw 指代

service salt-api restart

驗證salt-api是否可用

curl -si http://salt-api-ip:8888/login         -H "Accept: application/json"         -d username=‘saltapi‘         -d password=‘saltapipw‘         -d eauth=‘pam‘

返回 json 包含 tonken 則正常

填坑記錄

請求幾次salt-api就會返回401?

首先su驗證下用戶輸入密碼是否正確

#su - saltapi
Account locked due to 66 failed logins

# less /var/log/secure
python2.7: pam_tally2(login:auth): user saltapi (7006) tally 62, deny 5

發現用戶竟然被鎖

#查看用戶登錄狀態
#pam_tally2 --user=saltapi
Login           Failures Latest failure     From
saltapi            66    09/30/18 11:02:01  pts/1

重置賬戶登錄失敗計數

#pam_tally2 --user=saltapi --reset
#pam_tally2 --user=saltapi 
Login           Failures Latest failure     From
saltapi             0 

重新請求salt-api正常,但是幾次後還是被鎖

臨時解決方法,取消pam_tally2驗證

vi /etc/pam.d/system-auth
#註釋
auth        required      pam_tally2.so   onerr=fail deny=5 unlock_time=1800

salt-api的驗證用戶設置nologin,如何驗證密碼?

#可以在root用戶下執行
salt -T -a pam ‘minion_id‘ test.ping
#註意,如果驗證通過,就會生成~/salt_token 文件,裏面記錄驗證用戶的tonken,如果過期或者重新驗證,需要刪除這個文件

第二篇:salt-api使用填坑指南