ถ้าคุณเรียกใช้เสมอapt-get
ในเซิร์ฟเวอร์ของคุณด้วยมือ (ไม่อัตโนมัติapt-get
คำสั่งเปิดตัวโดย crons) แล้วคุณอาจพิจารณาใช้การส่งต่อตัวแทน SSH วิธีนี้หลีกเลี่ยงการจัดการคู่พับลิก / ไพรเวตคีย์ต่อเซิร์ฟเวอร์ที่คุณจัดการและอาจปลอดภัยกว่าการทิ้งคีย์ส่วนตัวไว้ในทุก ๆ เซิร์ฟเวอร์
การกำหนดค่าเริ่มต้น
- เชื่อมต่อกับเซิร์ฟเวอร์ที่คุณต้องการจัดการและเพิ่มสิ่งนี้ใน/etc/apt/sources.list
(ตัวอย่างนี้สมมติว่าคุณต้องการให้เซิร์ฟเวอร์ของคุณเชื่อมต่อกับmanager
บัญชี):
deb ssh://manager@my.repository.org/path other stuff
สร้างคู่ของคีย์ส่วนตัว / สาธารณะในคอมพิวเตอร์ของคุณเองด้วยการลงชื่อเข้าใช้ของคุณjohndoe
(หากคอมพิวเตอร์ของคุณทำงานบนเดเบียน: ถ้าไม่คุณสามารถทำได้จากเดเบียนเซิร์ฟเวอร์เพื่อการจัดการ):
ssh-keygen
- ตรวจสอบให้แน่ใจว่ามันได้รับการป้องกันโดย keyphrase ที่แข็งแกร่ง
คัดลอกกุญแจสาธารณะของคุณไปยังเซิร์ฟเวอร์ที่เก็บใน/home/manager/.ssh/authorized_keys
:
ssh-copy-id manager@my.repository.org
หนึ่งครั้งต่อการจัดการเซสชั่น
การจัดการเซิร์ฟเวอร์
เชื่อมต่อกับเซิร์ฟเวอร์ที่คุณต้องการจัดการโดยใช้ssh -A
( -A
เปิดใช้งานการส่งต่อตัวแทน):
ssh -A some.server.org
เปลี่ยนเป็นรูท (หากคุณต้องการใช้sudo
คุณจำเป็นต้องกำหนดค่า/etc/sudoers
มิฉะนั้นsudo
จะทำให้การส่งต่อเอเจนต์ล้มเหลวโปรดอ่านสิ่งนี้ ):
su
ตอนนี้คุณควรจะสามารถเชื่อมต่อกับบัญชีผู้จัดการของที่เก็บโดยใช้ ssh โดยไม่ต้องพิมพ์รหัสผ่านของคุณอีกครั้งขอบคุณตัวแทนส่งต่อ ดังนั้นapt-get
ควรทำงานได้ดี:
apt-get udate
สิ้นสุดเซสชันการจัดการของคุณ
ข้อดี
- ไม่จำเป็นต้องมีการกำหนดค่าเริ่มต้นมากนัก
- ต้องใช้กุญแจส่วนตัวเพียงคีย์เดียว
- รหัสส่วนตัวได้รับการป้องกันด้วยข้อความรหัสผ่านที่คาดเดายาก
- หากมีใครบางคนเข้าถึงรูทเซิร์ฟเวอร์ของคุณพวกเขาจะไม่สามารถเข้าถึงเซิร์ฟเวอร์ที่เก็บข้อมูลของคุณได้ทันที
- โปรดทราบว่าหากแฮ็กเกอร์มีความอดทนและมีคุณสมบัติเพียงพอเขาสามารถรอจนกว่าคุณจะเชื่อมต่อกับเซิร์ฟเวอร์โดยใช้การส่งต่อเอเจนต์และเขาสามารถจี้กลไกการส่งต่อเพื่อเข้าถึงเซิร์ฟเวอร์ที่เก็บของคุณ
- เพื่อช่วยป้องกันคุณสามารถใช้
ssh-ask
เพื่อยอมรับ / ปฏิเสธทุกความพยายามในการใช้คีย์ของคุณ
- ไม่ว่าในกรณีใดแฮ็กเกอร์จะไม่สามารถเข้าถึงคีย์ส่วนตัวเองได้เขาจะสามารถขโมยกลไกการส่งต่อเพื่อใช้งานคีย์และในช่วงเวลาที่คุณเชื่อมต่อกับเซิร์ฟเวอร์เท่านั้น