Làm cách nào để tắt thông báo chào mừng sau khi đăng nhập SSH?


32

Tôi đã thay đổi /etc/issue.net, vì vậy tôi đã đặt một thông báo "cá nhân" sau khi nhập tên người dùng trong thiết bị đầu cuối SSH. Bây giờ tôi đang cố gắng thay đổi văn bản chào mừng sau khi đăng nhập thành công.

Tôi đã tìm thấy rất nhiều bài đăng về /etc/motdtệp, nhưng phần "Chào mừng bạn đến với phiên bản Ubuntu blabla và v.v." + "* URL Tài liệu" không có ở đó?

Tôi chỉ không muốn hiển thị thông tin hệ điều hành trong thiết bị đầu cuối SSH của mình, tôi đã biết những gì tôi đã cài đặt. :) Tôi chỉ muốn xem đăng nhập cuối cùng của tôi. Và cũng không có lỗi; lỗi thuộc về một logfile.

Tôi phải chỉnh sửa tập tin nào?

Câu trả lời:


46

Các thông điệp chào mừng được tạo ra bởi các tập tin cư trú /etc/update-motd.d/.

Từ man update-motd:

Các tập lệnh thực thi trong /etc/update-motd.d/* được thực thi bởi pam_motd (8) với tư cách là người dùng root tại mỗi lần đăng nhập và thông tin này được nối trong / var / run / motd.

Vì vậy, nếu bạn không muốn kết quả đầu ra của các tập lệnh đó khi đăng nhập thông qua sshchỉ cần xóa cờ thực thi trên chúng:

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

Bây giờ nếu bạn muốn hiển thị một cái gì đó bạn muốn khi đăng nhập, bạn có hai tùy chọn:

  • Tạo một kịch bản, đặt nó vào /etc/update-motd.d/, làm cho nó có thể thực thi được, cũng đảm bảo rằng nó xuất ra trên STDOUT.

  • sshcó một Bannerlựa chọn. Bạn có thể đặt văn bản trong một tệp và đặt nó trong Bannertùy chọn sao cho nội dung của tệp được hiển thị khi đăng nhập qua ssh. Lưu ý rằng điều này chỉ áp dụng cho ssh.

    Banner /etc/foobar
    

    Từ 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
Tất cả các câu trả lời yêu thích của tôi đều bắt đầu bằng "From man xyz";)
AB

Cảm ơn bạn! Bây giờ tôi biết mối quan hệ giữa các tập tin. Tôi không chmod chúng, chỉ thêm # trước một số dòng tôi không muốn hiển thị.
Terradon

@Terradon Vâng, điều đó cũng sẽ xảy ra..tôi chỉ khái quát hóa giải pháp vì nhiều người sẽ không muốn xem xét tập tin nhiều ..
heemayl

2
Giải pháp tuyệt vời vì chmodingcác tệp có nghĩa là tôi không phải chỉnh sửa chúng. Tốt đẹp!
thúc

... Tại sao họ lại bỏ quá nhiều thứ vớ vẩn và lãng phí thời gian của mọi người khi vô hiệu hóa nó: Giải pháp tốt đẹp với chmod -x!
Motsel

4

Bạn cũng có thể nuke pam_motdhoàn toàn:

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

Các cuộc gọi PAM pam_motdtùy thuộc vào cài đặt trong /etc/pam.dvà thông thường các mục là:

$ 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]

Chỉ cần bình luận ra các pam_motddòng từ các tập tin này sẽ vô hiệu hóa nó.


Cảm ơn thời gian của bạn, nhưng với "Nuke all all" tôi không biết tôi đang làm gì. (Tôi mới dùng linux / ubfox).
Terradon

1
@Terradon bạn đang bảo PAM đừng gọi pam_motd.so, thế thôi.
muru

Cảm ơn, tôi sẽ xem xét kỹ hơn những gì PAM.does chính xác.
Terradon

3

Một cách khác không yêu cầu quyền quản trị là đặt một tệp trống được gọi là

.hushlogin

vào thư mục $ HOME của bạn (ví dụ sử dụng touch ~/.hushlogin).

Nguồn cung cấp thêm thông tin bao gồm nhược điểm có thể có của phương pháp này : https : //debian-ad dùng.org / article / 546 / Giving_yourself_a_quieter_SSH_login


Thanh lịch, đơn giản, không gây rối với người dùng khác, không sudo. Cảm ơn.
Jan Werkhoven
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.