Ich versuche Salz (2015.8.10 Beryllium) mit "external_auth" über PAM zu verwenden. Mein ultimatives Ziel ist es, mit Salz-API eine Anfrage von einem Salz-Diener zu authentifizieren, die es dem Diener erlaubt, seinen eigenen Schlüssel zu akzeptieren. Als ersten Schritt wird vorgeschlagen, dass Sie zuerst die Authentifizierung lokal mit "salt -a pam" auf dem Salz-Master erhalten. Da stecke ich fest.Salz Timeout bei Verwendung der externen Authentifizierung (PAM)
Das Problem, das ich habe, ist, dass Versuche, pam zu verwenden, in dem Salz Anfrage Ablaufen ergeben sie:
[[email protected] ~]# salt -a pam 'box603.example.com' test.ping --log-level all
[DEBUG ] Reading configuration from /etc/salt/master
...
[DEBUG ] LazyLoaded pam.auth
username: user1
password:
[DEBUG ] Initializing new AsyncZeroMQReqChannel for ('/etc/salt/pki/master', 'saltmaster.example.com_master', 'tcp://127.0.0.1:4506', 'clear')
[TRACE ] Inserted key into loop_instance_map id 18446604434624361104 for key ('/etc/salt/pki/master', 'saltmaster.example.com_master', 'tcp://127.0.0.1:4506', 'clear') and process 11045
[DEBUG ] SaltReqTimeoutError, retrying. (1/3)
[DEBUG ] SaltReqTimeoutError, retrying. (2/3)
[DEBUG ] SaltReqTimeoutError, retrying. (3/3)
[DEBUG ] LazyLoaded nested.output
[TRACE ] data = Salt request timed out. The master is not responding. If this error persists after verifying the master is up, worker_threads may need to be increased.
Salt request timed out. The master is not responding. If this error persists after verifying the master is up, worker_threads may need to be increased.
Gastgeber in Frage, box603.example.com online ist und pingable ist, wenn sie nicht mit pam-Authentifizierung:
[[email protected] ~]# salt 'box603.example.com' test.ping
box603.example.com:
True
Mein Saltmaster:/etc/Salz/Master Konfigurationsdatei enthält:
external_auth:
pam:
user1:
- .*
Und Benutzer1 ist ein gültiger Benutzer in/etc/passwd | shadow, es kann über ssh verwendet werden, und ich kann su dazu.
Die Dokumentation zeigt an, dass beim Versuch, sich mit PAM und SALZ zu authentifizieren, standardmäßig der PAS-Anmeldeservice verwendet wird. Hier ist mein /etc/pam.d/login:
auth definitive pam_user_policy.so.1
auth requisite pam_authtok_get.so.1
auth required pam_dhkeys.so.1
auth required pam_unix_auth.so.1
auth required pam_unix_cred.so.1
Für das, was es wert ist, das Salz Master Solaris 11 läuft. Ich sehe oft in Beiträgen für Anfragen Salz Probleme Salz --versions-Bericht zu schreiben, so ist hier, dass:
Salt Version:
Salt: 2015.8.10
Dependency Versions:
Jinja2: 2.8
M2Crypto: 0.24.0
Mako: Not Installed
PyYAML: 3.11
PyZMQ: 15.2.0
Python: 2.7.11 (default, Mar 24 2016, 22:19:35)
RAET: 0.6.5
Tornado: 4.3
ZMQ: 4.1.4
cffi: 1.5.2
cherrypy: 3.2.3
dateutil: Not Installed
gitdb: Not Installed
gitpython: Not Installed
ioflo: 1.5.1
libgit2: Not Installed
libnacl: 1.4.4
msgpack-pure: Not Installed
msgpack-python: 0.4.7
mysql-python: Not Installed
pycparser: 2.14
pycrypto: 2.6.1
pygit2: Not Installed
python-gnupg: Not Installed
smmap: Not Installed
timelib: Not Installed
System Versions:
dist:
machine: i86pc
release: 5.11
Es sollte möglich sein, das externe Linux-PAM-Authentifizierungsmodul als Beispiel zu verwenden, damit es mit Solaris funktioniert. Ich habe nur keine Solaris 11-Box, um das zu testen. –