สวัสดีตอนเย็น,
ขณะนี้ฉันกำลังพยายามทำความเข้าใจกับลินุกซ์ให้ลึกขึ้นอีกเล็กน้อยซึ่งฉันคุ้นเคย
ให้ตรงไปที่ปัญหาของฉัน:
ก่อนอื่น มาพูดถึงการตั้งค่าของฉันกันก่อน
ฉันมีเซิร์ฟเวอร์ 3 เครื่อง โดยแต่ละเครื่องมี IP สาธารณะ
แต่ละเซิร์ฟเวอร์เป็นส่วนหนึ่งของ VLAN
เซิร์ฟเวอร์ #1 (vlan 10.0.0.2) ไม่ได้รับการป้องกันโดยไฟร์วอลล์
เซิร์ฟเวอร์ #2 (vlan 10.0.0.3) และเซิร์ฟเวอร์ #3 (vlan 10.0.0.4) ถูกบล็อกจากอินเทอร์เน็ตโดยสิ้นเชิง และสามารถเข้าถึงได้จาก vlan เท่านั้น
เซิร์ฟเวอร์ #2 รันคอนเทนเนอร์ KeyCloak อย่างไรก็ตาม สิ่งนี้ไม่เกี่ยวข้องกับปัญหา
เซิร์ฟเวอร์ # 3 ควรทำหน้าที่เป็นเซิร์ฟเวอร์คอมไพล์ของฉัน
โดยปกติฉันจะสร้างไฟล์ คอมไพล์
ผู้ใช้, เชื่อมโยง อนุญาต_คีย์
ไฟล์กับไฟล์ GitLab
คอนเทนเนอร์. รหัสสาธารณะแต่ละรายการจะขึ้นต้นด้วยคำสั่ง ซึ่งจะส่งผ่านการเชื่อมต่อกับ ssh deamon ภายในคอนเทนเนอร์
แต่เนื่องจากเซิร์ฟเวอร์ #3 ไม่สามารถเข้าถึงได้แบบสาธารณะ ฉันจำเป็นต้องยอมรับการเชื่อมต่อ ssh ขาเข้าบนเซิร์ฟเวอร์ #1
ฉันสร้าง คอมไพล์
ผู้ใช้และเริ่มคิดว่าฉันจะเอาชนะปัญหานี้ได้อย่างไร
ฉันคิดอยู่สองวิธีที่จะสามารถจัดการกับมันได้
- อนุญาตให้
คอมไพล์
ผู้ใช้สามารถเข้าถึงได้โดยไม่ต้องใช้รหัสผ่านและเปิดการเชื่อมต่อกับ [email protected]
(ใช้งานได้หรือไม่ ไคลเอ็นต์ ssh-agent ทำงานในกรณีนี้หรือไม่ ผู้โจมตีสามารถออกจากการเชื่อมต่อ ssh ภายในและทำสิ่งต่างๆ บนเซิร์ฟเวอร์ #1 ได้หรือไม่)
- เซิร์ฟเวอร์ #3 เชื่อมต่อกับเซิร์ฟเวอร์ #1 เป็นประจำและอัปเดต
อนุญาต_คีย์
ไฟล์ (จากนั้นฉันจะต้องเขียนสคริปต์ที่สองที่ไฟล์ สั่งการ
ที่ตั้งซึ่งจะเปิดการเชื่อมต่อไปยัง เซิร์ฟเวอร์ #3
. สิ่งนี้จะช้าลง เนื่องจากผู้ใช้ต้องรอจนกว่าเซิร์ฟเวอร์ #3 จะซิงค์กับเซิร์ฟเวอร์ #1)