เตือนผู้ใช้เมื่อเชื่อมต่อกับการเข้าสู่ระบบเซิร์ฟเวอร์การผลิต SSH


1

ฉันมีสภาพแวดล้อม 3 aws ที่ใช้งาน Ubuntu 14.4 ฉัน devops ดังนั้นฉันจึงสามารถเข้าถึงรูททุกเซิร์ฟเวอร์ ครั้งหนึ่งฉันลงชื่อเข้าใช้อินสแตนซ์สดแทนที่จะเป็นอินสแตนซ์ staging เนื่องจาก Ctrl + R และชื่ออินสแตนซ์นั้นคล้ายคลึงกันและลบข้อมูลสำคัญ โชคดีที่ฉันมีข้อมูลสำรองดังนั้นฉันสามารถกู้คืนได้ทันที

ฉันต้องการป้องกันสิ่งนี้ในอนาคต มีวิธีที่ฉันจะได้รับพรอมต์ใช่ / ไม่ใช่เมื่อฉันพยายามเข้าสู่ระบบ live หรือไม่? ฉันรู้ว่าฉันสามารถใช้แบนเนอร์ได้ แต่การตรวจสอบด้านลูกค้าจะทำงานได้ดีที่สุด

ฉันไม่เป็นไรกับข้อเสนอแนะอื่น ๆ เพื่อให้แน่ใจว่าฉันได้รับการเตือนเมื่อใดก็ตามที่ฉันเชื่อมต่อกับระบบสด


1
ก่อนอื่นคุณไม่ควรมีรูท แต่เข้าถึง sudo; ขั้นที่สองง่าย - เปลี่ยนสีพื้นหลังของเทอร์มินัลของคุณเป็นสีแดงในเซิร์ฟเวอร์ที่ใช้งานจริงหรือเปลี่ยนสีของ promt (คุณสามารถทำได้ใน bashrc ด้วยเพื่อแยกความแตกต่างระหว่างรูทและผู้ใช้ปกติ
มัลติคัลเลอร์

1
@Drako ขอบคุณจุดแรกจะกล่าวถึงในฐานะการเข้าสู่ระบบ SSH กับผู้ใช้ Ubuntu และไม่ใช่ผู้ใช้รูท ไม่อนุญาตให้ล็อกอินผู้ใช้รูท
bitkot

ยังคงเหมือนเดิม มีผู้ใช้ปกติที่ทำงานบนเซิร์ฟเวอร์เหล่านั้นที่ใช้ SSH หรือไม่ ไม่มี? เพียงแค่เปลี่ยนทั่วโลกสำหรับเซิร์ฟเวอร์ คุณสามารถรวมสิ่งต่าง ๆ ไว้ในการกำหนดค่าผู้ใช้ของคุณเพื่อแสดงข้อความหรือรวมถึงแบนเนอร์ล่วงหน้าในการเข้าสู่ระบบ ssh
เซท

คำตอบ:


1

วิธีหนึ่งที่น่าสนใจในการบรรลุเป้าหมายนี้คือการมี 2 คีย์ ssh หนึ่งอันสำหรับเซิร์ฟเวอร์ที่ใช้งานจริงและอีกทางหนึ่งสำหรับที่ไม่ได้ใช้งานจริง

ตรวจสอบให้แน่ใจว่าการผลิตนั้นถูกเข้ารหัสด้วยวลีรหัสผ่านที่ไม่ได้บันทึกไว้ คุณสามารถเข้ารหัสอีกอันได้หากคุณต้องการ แต่ถ้าคุณไม่ทำมันจะทำให้ชัดเจนว่าคุณกำลังตีเซิร์ฟเวอร์ที่ใช้งานจริงเนื่องจากคุณต้องถอดรหัสคีย์ของคุณก่อนจึงจะสามารถใช้งานได้

'เคล็ดลับ' อีกประการหนึ่งที่คุณสามารถใช้ใน SSH เวอร์ชันที่ใหม่กว่าคือต้องมีการตรวจสอบสิทธิ์ 2 รูปแบบดังนั้นรหัสและรหัสผ่าน - เปิดใช้งานสิ่งนี้สำหรับเซิร์ฟเวอร์ที่ใช้งานจริงเท่านั้น

สิ่งนี้ทำใน sshd.conf

AuthenticationMethods "publickey,password" "publickey,keyboard-interactive"

ฉันจะยังคงใช้คำแนะนำของ Drako ในการเปลี่ยนสีของพรอมต์ - ฉันทำสิ่งนี้บนเซิร์ฟเวอร์ที่ฉันจัดการเพื่อให้ชัดเจนกับฉันได้อย่างรวดเร็วว่าใครที่ฉันเข้าสู่ระบบเป็นและเซิร์ฟเวอร์ที่ฉันอยู่


1
ฉันคิดว่าการมีรหัสคู่กับข้อความรหัสผ่านจะเป็นตัวเลือกที่ดีที่สุดสำหรับฉัน
bitkot

0

ในกรณีที่นี่เป็นตัวอย่างของการแจ้งสี: ที่ไหนสักแห่งในตอนท้ายของ bashrc ลองนี้ (มันทำงานบน rhel ของฉัน แต่สามารถทำงานบน Ubuntu ได้เช่นกัน (ไม่มีรอบทดสอบ)):

RED="\[\033[40;0;31m\]"
GREEN="\[\033[40;0;32m\]"
CLEAR="\[\033[0m\]"
if [ $(id -u) -eq 0 ];
then
    PS1="$RED\u@\h: \W \$$CLEAR "
else
    PS1="$GREEN\u@\h: \W \$$CLEAR "
fi

สิ่งนี้จะแยกความแตกต่างของพรอมต์ของการผลิตสีแดงสำหรับรูทและสีเขียวสำหรับผู้ใช้

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