จะปิดข้อความต้อนรับหลังจากเข้าสู่ระบบ SSH ได้อย่างไร?


32

ฉันมีการเปลี่ยนแปลง/etc/issue.netดังนั้นฉันจึงได้ตั้งข้อความ "ส่วนตัว" หลังจากพิมพ์ชื่อผู้ใช้ในเทอร์มินัล SSH ตอนนี้ฉันกำลังพยายามเปลี่ยนข้อความต้อนรับหลังจากลงชื่อเข้าใช้สำเร็จ

ฉันพบโพสต์มากมายเกี่ยวกับ/etc/motdไฟล์ แต่ส่วน "ยินดีต้อนรับสู่ Ubuntu blabla versionnumber และอื่น ๆ " + "* เอกสาร URL" ไม่ได้มี?

ฉันไม่ต้องการแสดงข้อมูลระบบปฏิบัติการในเทอร์มินัล SSH ของฉันฉันรู้แล้วว่าได้ติดตั้งอะไรไปแล้ว :) ฉันแค่ต้องการที่จะเห็นการเข้าสู่ระบบครั้งสุดท้ายของฉัน และยังไม่ผิดพลาด; ข้อผิดพลาดอยู่ใน logfile

ไฟล์ใดที่ฉันต้องแก้ไข?

คำตอบ:


46

/etc/update-motd.d/ข้อความต้อนรับที่สร้างโดยไฟล์ที่อาศัยอยู่ใน

จากman update-motd:

สคริปต์ที่เรียกใช้งานได้ใน /etc/update-motd.d/* จะถูกเรียกใช้โดย pam_motd (8) ในฐานะผู้ใช้รูทในแต่ละการล็อกอินและข้อมูลนี้จะถูกรวมเข้าด้วยกันใน / var / run / motd

ดังนั้นหากคุณไม่ต้องการผลลัพธ์ของสคริปต์เหล่านั้นเมื่อเข้าสู่ระบบผ่านsshเพียงแค่ลบธงดำเนินการกับพวกเขา:

sudo chmod -x /etc/update-motd.d/*

ตอนนี้ถ้าคุณต้องการแสดงบางสิ่งที่คุณต้องการเมื่อเข้าสู่ระบบคุณมีสองตัวเลือก:

  • สร้างสคริปต์ใส่ไว้ใน/etc/update-motd.d/ทำให้ใช้งานได้และตรวจสอบให้แน่ใจว่ามันส่งออกบน STDOUT

  • sshมีBannerตัวเลือก คุณสามารถใส่ข้อความในไฟล์และตั้งไว้ในตัวเลือกเพื่อให้เนื้อหาของไฟล์ที่จะแสดงเมื่อเข้าสู่ระบบผ่านBanner โปรดทราบว่านี้มีผลบังคับใช้เท่านั้นsshssh

    Banner /etc/foobar
    

    จากman 5 sshd_config:

     Banner  The contents of the specified file are sent to the remote user
             before authentication is allowed.  If the argument is “none” then
             no banner is displayed.  This option is only available for
             protocol version 2.  By default, no banner is displayed.
    

8
คำตอบที่ฉันโปรดปรานเริ่มต้นด้วย "From man xyz";)
AB

ขอขอบคุณ! ตอนนี้ฉันรู้ความสัมพันธ์ระหว่างไฟล์เหล่านั้นแล้ว ฉันไม่ได้ chmod พวกเขาเพิ่งเพิ่ม # ก่อนบางบรรทัดฉันไม่ต้องการแสดง
Terradon

@Terradon ใช่ว่าจะทำเช่นกัน .. ฉันแค่สรุปวิธีแก้ปัญหาเพราะหลายคนไม่ชอบที่จะดูไฟล์มาก ..
heemayl

2
สุดยอดวิธีการแก้ปัญหาที่สะอาดเพราะchmodingไฟล์หมายความว่าฉันไม่ต้องแก้ไข ดี!
culix

... ทำไมพวกเขาถึงอึมากใน motd และเสียเวลาปิดการใช้งานของผู้คน: s ทางออกที่ดีกับ chmod -x!
Motsel

4

นอกจากนี้คุณยังสามารถรับหน้าที่pam_motd:

sed -i '/^[^#]*\<pam_motd.so\>/s/^/#/' /etc/pam.d/sshd

PAM เรียกpam_motdขึ้นอยู่กับการตั้งค่าใน/etc/pam.dและโดยทั่วไปรายการคือ:

$ grep pam_motd /etc/pam.d -R
/etc/pam.d/login:session    optional   pam_motd.so  motd=/run/motd.dynamic noupdate
/etc/pam.d/login:session    optional   pam_motd.so
/etc/pam.d/sshd:session    optional     pam_motd.so  motd=/run/motd.dynamic noupdate
/etc/pam.d/sshd:session    optional     pam_motd.so # [1]

เพียงแค่แสดงความคิดเห็นpam_motdบรรทัดจากไฟล์เหล่านี้จะปิดการใช้งาน


ขอบคุณสำหรับเวลาของคุณ แต่ด้วย "Nuke พวกเขาทั้งหมด" ฉันไม่รู้ว่าฉันกำลังทำอะไรอยู่ (ฉันใหม่สำหรับ linux / ubuntu)
Terradon

1
@Terradon คุณกำลังบอก PAM ว่าไม่ต้องโทรpam_motd.soนั่นคือทั้งหมด
muru

ขอบคุณฉันจะดูสิ่งที่ PAM.does อย่างใกล้ชิด
Terradon

3

อีกวิธีหนึ่งที่ไม่ต้องการสิทธิ์ผู้ดูแลระบบคือการวางไฟล์ว่างที่เรียกว่า

.hushlogin

ลงในไดเรกทอรี $ HOME ของคุณ (ใช้เป็นตัวอย่างtouch ~/.hushlogin)

แหล่งข้อมูลที่ให้ข้อมูลเพิ่มเติมรวมถึงข้อเสียของวิธีนี้ : https://debian-administrator.org/article/546/Giving_yourself_a_quieter_SSH_login


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