จะทำการ kinit โดยอัตโนมัติเพื่อรับ TGT สำหรับ Kerberos ได้อย่างไร?


10

ตอนนี้ฉันกำลังเขียนโมดูลหุ่นเชิดเพื่อให้กระบวนการเข้าร่วมเซิร์ฟเวอร์ RHEL เป็นโดเมน AD โดยอัตโนมัติด้วยการสนับสนุน Kerberos

ปัจจุบันฉันมีปัญหาในการรับและแคช Kerberos การให้สิทธิ์จำหน่ายตั๋วkinitอัตโนมัติ หากสิ่งนี้จะต้องทำด้วยตนเองฉันจะทำ:

kinit aduser@REALM.COM

สิ่งนี้จะขอรหัสผ่านผู้ใช้ AD ดังนั้นจึงมีปัญหากับการทำเช่นนี้โดยอัตโนมัติ

ฉันจะทำให้สิ่งนี้เป็นแบบอัตโนมัติได้อย่างไร ฉันพบบางโพสต์ที่กล่าวถึงการใช้kadminเพื่อสร้างฐานข้อมูลด้วยรหัสผ่านผู้ใช้ AD ในนั้น แต่ฉันไม่มีโชค

คำตอบ:


18

โง่ฉันคุณสามารถใช้คำสั่งต่อไปนี้:

echo "password" | kinit aduser@REALM

1
echo -n "$PASS" | kinit "$USER"ไม่ต้องขึ้นบรรทัดใหม่ตามท้ายบรรทัด
Dejan

14
หรือพิมพ์โปสเตอร์ด้วยรหัสผ่านของคุณแล้วออกไปเที่ยวกัน! การเก็บรหัสผ่านของคุณในรูปแบบข้อความล้วนคือ no-no
Havnar

17

ในขณะที่คุณสามารถเข้ารหัสรหัสผ่านลงในระบบอัตโนมัติของคุณได้อย่างถูกต้องวิธี Kerberos ที่ถูกต้องมากขึ้นในการทำเช่นนี้ก็คือการสร้างแท็บคีย์สำหรับเงินต้นและจากนั้นใช้เพื่อรับรองความถูกต้อง kinitรองรับการตรวจสอบสิทธิ์จากตารางโดยใช้-k -t <keytab-path>ตัวเลือก

ข้อได้เปรียบหลักของ keytab คือมันแยกข้อมูลประจำตัวในไฟล์แยกต่างหากและสามารถใช้โดยตรงโดยซอฟต์แวร์ Kerberos ต่างๆ (ดังนั้นคุณไม่ต้องเพิ่มรหัสเพื่ออ่านรหัสผ่านจากไฟล์แยกต่างหาก) นอกจากนี้ยังสามารถสร้างด้วยคำสั่งมาตรฐาน (ด้วย AD KDC ใช้ktpass) มีข้อดีมากกว่านี้ถ้าคุณมี Linux KDC เช่นการสุ่มคีย์ที่เก็บไว้ในแท็บคีย์แทนการใช้รหัสผ่านที่อ่อนแอกว่า


1
Keytab น่าจะเป็นทางที่จะไป หากคุณสร้างสิ่งนี้ใน kadmin ตรวจสอบให้แน่ใจว่าใช้การ-norandkeyตั้งค่าสถานะใน ktadd หากคุณไม่ต้องการที่จะทำให้รหัสผ่านที่มีอยู่ใช้ไม่ได้
Dennis Jaheruddin

1

คุณอาจใช้:

kinit --password-file="~/my.secret" aduser@REALM.COM

ดังนั้นคุณอาจให้รหัสผ่านของคุณผ่านไฟล์


มันทำงานใน windows ได้หรือไม่
Indranil Gayen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.