ฉันจะแก้ไขข้อความต้อนรับได้อย่างไรเมื่อ ssh เริ่มต้น?


66

ฉันมี vps สำหรับการโฮสต์เว็บไซต์ของฉัน มันกำลังเรียกใช้เซิร์ฟเวอร์อูบุนตู ทุกครั้งที่ฉันลงชื่อเข้าใช้เซิร์ฟเวอร์ด้วย ssh จะแสดงข้อความต้อนรับยาว ๆ ในเทอร์มินัลของฉัน

Linux node61.buyvm.net 2.6.18-pony6-3 # 1 SMP อังคาร 13 มีนาคม, 07:31:44 PDT 2012 x86_64

โปรแกรมที่มาพร้อมกับระบบ Debian GNU / Linux เป็นซอฟต์แวร์ฟรี เงื่อนไขการแจกจ่ายที่แน่นอนสำหรับแต่ละโปรแกรมนั้นจะอธิบายไว้ในแต่ละไฟล์ใน / usr / share / doc / * / ลิขสิทธิ์

Debian GNU / Linux มาพร้อมกับ ABSOLUTELY NO WARRANTY ตามขอบเขตที่กฎหมายอนุญาต ลงชื่อเข้าใช้ครั้งล่าสุด: พุธ 11 ก.ค. 12:08:19 2012 จาก 113.72.193.52 Linux node61.buyvm.net 2.6.18-pony6-3 # 1 SMP อังคาร 13 มีนาคม 07:31:44 PDT 2012 x86_64

โปรแกรมที่มาพร้อมกับระบบ Debian GNU / Linux เป็นซอฟต์แวร์ฟรี เงื่อนไขการแจกจ่ายที่แน่นอนสำหรับแต่ละโปรแกรมนั้นจะอธิบายไว้ในแต่ละไฟล์ใน / usr / share / doc / * / ลิขสิทธิ์

Debian GNU / Linux มาพร้อมกับ ABSOLUTELY NO WARRANTY ตามขอบเขตที่กฎหมายอนุญาต เข้าสู่ CT 17323 -bash-4.2 #

หลังจากทำการวิจัยบางอย่างเกี่ยวกับเรื่องนี้ (ใช่ฉันเพิ่งผ่านไปรอบ ๆ ) ฉันตระหนักว่าเซิร์ฟเวอร์ของฉันควรมี.bashrcและ.bash_profile(หรือ.profile) ควบคุมสิ่งนี้ ฉันใช้เสียงเรียกเข้าเพื่อเปิดของฉัน.bashrcและ.profileฉันไม่สามารถค้นหารหัสใด ๆ ที่จะแสดงข้อความในเทอร์มินัลของฉัน ดังนั้นฉันสงสัยว่ามีไฟล์อื่นสำหรับสิ่งนี้หรือไม่

ฉันต้องการแสดงความคิดเห็นข้อความต้อนรับเหล่านั้นเพราะ sftp ของฉันไม่ทำงานกับข้อผิดพลาด ( Received message too long 761422195) ฉันค่อนข้างมั่นใจว่าข้อผิดพลาดนี้เกิดจากข้อความต้อนรับของเซิร์ฟเวอร์

ขอโทษด้วยสำหรับภาษาอังกฤษที่ไม่ดีของฉัน ฉันขอขอบคุณความช่วยเหลือใด ๆ !


คำตอบ:


84

คุณต้องแก้ไขสองไฟล์:

  1. /etc/motd (ข้อความประจำวัน)
  2. /etc/ssh/sshd_config: เปลี่ยนการตั้งค่าPrintLastLogเป็น "ไม่" นี่จะปิดการใช้งานข้อความ "เข้าสู่ระบบครั้งสุดท้าย"

จากนั้นรีสตาร์ท sshd ของคุณ


9
การเปลี่ยน PrintLastLog เป็น NO มีผลกระทบเชิงลบต่อความปลอดภัย @RodyOldenhuis ให้คำตอบที่ดีกว่า
Igor S.

1
คำตอบของเขาใช้ได้ดี มันไม่อธิบายวิธีการเปลี่ยนข้อความเข้าสู่ระบบ
Alexander C. Solon

sudo /etc/init.d/ssh restartหลังการแก้ไขsshd_config
Mehdiway

51

/etc/motdคุณจำเป็นต้องเปลี่ยนเนื้อหาของ น่าเสียดายที่เป็นค่าเริ่มต้น/etc/motdลิงก์ที่จะ/var/run/motdถูกรีเซ็ตทุกครั้งที่คุณเข้าสู่ระบบ หากต้องการเปลี่ยนแปลงอย่างถาวรโปรดทำดังต่อไปนี้:

sudo rm /etc/motd
sudo nano /etc/motd

หรือสิ่งที่คุณต้องการแก้ไข จากนั้นป้อนข้อความที่คุณต้องการแสดง (ถ้ามี) และบันทึกไฟล์

ถอด "เห็นครั้งสุดท้าย" ข้อความ (เช่นการตั้งค่า PrintLastLogไปnoใน/etc/ssh/sshd_config) ไม่แนะนำ - เวลาของการเข้าสู่ระบบสุดท้ายคือการรักษาความปลอดภัยข้อมูลที่มีคุณค่า จะช่วยให้สามารถตรวจสอบว่าคนที่คุณไม่ได้คาดหวังได้เข้าสู่ระบบเมื่อเร็ว ๆ นี้ อย่างไรก็ตามมันเป็นไปได้แน่นอน แต่ทำเพื่อให้รู้เท่าทัน


ดูเพิ่มเติม/etc/motd.tailที่อาจใช้ขึ้นอยู่กับระบบ
jezmck

ใน Debian 9 /etc/motdเป็นไฟล์ปกติและ/etc/motd.tailไม่สามารถใช้งานได้ @jezmck
Pablo

@PabloBianchi อืม ... ฉันไม่มีระบบที่คล้ายกันเพื่อทดสอบสิ่งนี้ คุณสามารถแจ้งให้เราทราบว่า / เมื่อคุณจัดการเพื่อแก้มันได้หรือไม่
Rody Oldenhuis

@RodyOldenhuis แก้ปัญหาอะไร ฉันแค่sudo nano /etc/motdและมันทำงาน
Pablo

@PabloBianchi: อ่าฉันเข้าใจผิด ฉันคิดว่าคุณหมายถึงการเปลี่ยนไฟล์ปกติไม่ทำงาน ... ไม่เป็นไร :)
Rody Oldenhuis


10

สร้างไฟล์ใหม่และแก้ไขข้อความต้อนรับ /etc/ssh/sshd_configแก้ไข ในนั้นจะมีบรรทัดที่เรียกว่า

#Banner /some/path

แก้ไขพา ธ นั้นด้วยพา ธ ข้อความต้อนรับที่สร้างขึ้นใหม่

ชอบ,

Banner /var/www/welcome.msg

รีสตาร์ท ssh ตอนนี้มันจะทำงาน


4
สิ่งนี้ไม่ได้ลบข้อความ motd เพียง แต่ต่อท้ายเนื้อหาของ /var/www/welcome.msg ก่อนหน้านั้น (อย่างน้อยใน Ubuntu 12.04)
Akseli Palén

3

อาจแก้ไขไฟล์ / etc / issue ลองสิ่งนี้:

วันที่ปัจจุบัน: \ d เวลาปัจจุบัน: \ t ชื่อระบบ: \ s สถาปัตยกรรม: \ m ข้อมูลการสร้างระบบปฏิบัติการ: \ v ชื่อโฮสต์: \ n เคอร์เนล: \ r จำนวนผู้ใช้ที่เข้าสู่ระบบ: \ u


ปัญหาคือแบนเนอร์ก่อนเข้าสู่ระบบ motd เป็นข้อความที่ยาวขึ้นหลังจากเข้าสู่ระบบ
eckes

3

สร้างไฟล์ /etc/motd.tail และเขียนทุกสิ่งที่คุณต้องการ ไฟล์ / etc / motd จะถูกสร้างขึ้นในทุก ๆ การบูทระบบตามเนื้อหาของ /etc/motd.tail


-1

โปรแกรมที่ช่วยให้คุณแสดงข้อความต้อนรับ

  1. เริ่มเทอร์มินัลของคุณ
  2. เขียน -> vi filename.sh
  3. กด i เพื่อเข้าสู่โหมดแทรก
  4. เริ่มการเข้ารหัส
clear
d=$(date +%H)
if [ $d -lt 12 ]
then
  echo "Good Morning"
elif [ $d -lt 16 ]
then
   echo "Good Afternoon"
elif [ $d -lt 20 ]
then
  echo "Good Evening"
else 
  echo "Good Night"
fi
  1. กดescปุ่มหลังจากเสร็จสิ้น

  2. ตอนนี้กดshift+ qพร้อมกัน

  3. เขียน wq แล้วกด ENTER \ YOUR FILE ได้รับการบันทึกแล้ว
  4. คุณได้ย้ายเข้ามาในเทอร์มินัลแล้ว
  5. เขียนชื่อไฟล์ sh
  6. รับข้อความต้อนรับ

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