Làm cách nào để ngăn chặn Đăng nhập lần cuối: Tin nhắn của người dùng hiển thị khi sử dụng sftp?


10

Trong Ubuntu GNU / Linux 12.04, tôi có một người dùng johndoelà một phần của một sftponlynhóm, được thiết lập để sftpvào chroottù bằng cách sử dụng

Subsystem sftp internal-sftp

Match Group sftponly
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no

vào cuối /etc/ssh/ssh_config. Tất cả các thành phần của thư mục người dùng là các homethư mục được đặt tên rootmà không thể ghi bởi bất kỳ người dùng hoặc nhóm nào khác, như được giải thích trong man sshd_config(bên dưới ChrootDirectory). Trong chrootnhà tù của anh ta , có một thư mục có thể viết files:

sudo groupadd sftponly    
sudo mkdir -p /home/sftponly/johndoe/files
sudo useradd -d /home/sftponly/johndoe -g sftponly -s /usr/sbin/nologin johndoe
sudo chmod go-w /home/sftponly/{,johndoe}
sudo chown johndoe:sftponly /home/sftponly/johndoe/files
sudo chmod ug+rwX /home/sftponly/johndoe/files

(Thiết vỏ để /bin/falsekhông làm việc với một trong hai sshhoặc sftp. Với nologinnhư vỏ sshkết nối, chương trình "motd", và sau đó ngắt kết nối, đó là hành vi mong đợi.)

Nhưng sftpthất bại với tin nhắn Received message too long 1416128883. Tôi biết thất bại này là do "MOTD" (Thông điệp của ngày), vì sftpmong đợi "đăng nhập sạch". Tôi đã thử vô hiệu hóa tất cả các phần "MOTD" trên máy chủ bằng cách sử dụng các mục sau, với ( các kết quả này ):

  • Thêm PrintLastLog noPrintMotd nokết thúc /etc/ssh/ssh_configvà khởi động lại sshbằng cách sử dụng restart ssh. ( Không có hiệu lực . Thử nghiệm với sshhiển thị cả "MOTD" và "Đăng nhập lần cuối:".)

  • Bình luận session optional pam_motd.sotrong /etc/pam.d/sshd. ( Ngăn chặn MOTD . Nhưng không có mục tương ứng cho "LastLog" vì vậy, thử nghiệm với ssh"Đăng nhập lần cuối:" vẫn hiển thị và do đó sftpvẫn không thành công .)

  • Bình luận ra session optional pam_lastlog.sosession optional pam_motd.sovào /etc/pam.d/login. ( Không có hiệu lực . Thử nghiệm với sshhiển thị cả MOTD và "Đăng nhập lần cuối:".)

  • Tạo .hushlogintập tin trên máy khách bằng cách sử dụng touch ~/.hushlogin. ( Không có hiệu lực .)

Tôi không có ý kiến. Trường hợp khác có thể thông báo "Đăng nhập lần cuối:" này đến từ đâu và làm thế nào để nó có thể bị vô hiệu hóa (lý tưởng chỉ dành cho sftpvà không sshđăng nhập, nhưng, tôi tưởng tượng như là sftpsử dụng ssh, tin nhắn sẽ ở đó cho cả hai hoặc không)?


Câu hỏi của bạn vẫn xuất hiện như một câu hỏi chưa được trả lời. Đăng câu trả lời của bạn và chấp nhận nó (hoặc tích lũy câu trả lời khác)
Walter A

Câu trả lời:


3

Một lỗi đánh máy từ phía tôi là nguyên nhân của hành vi không hợp lý mà tôi đã trải qua ở trên. Đó là /etc/ssh/sshd_config(tương ứng với sshdaemon) phải được chỉnh sửa, không /etc/ssh/ssh_config(tương ứng với sshmáy khách). Tôi để câu hỏi này ở đây trong trường hợp nó có thể giúp đỡ người khác.


Tôi sẽ thêm vào điều này mà tôi phải chỉnh sửa dòng PrintLastLog yesđể nothay thế. Tôi không chắc cài đặt này có thể thay đổi gì nữa, nhưng nó không in thông báo nữa.
taylorthurlow

0

Tôi đã xóa / var / log / lastlog và thông báo "Lần đăng nhập cuối cùng" đã biến mất vĩnh viễn. Đã làm việc với tất cả các bản phân phối tôi đã thử nghiệm: Ubuntu và SUSE.

Làm thế nào tôi đến với ý tưởng này?

đăng nhập nào
chuỗi / bin / đăng nhập | grep cuối cùng

Nhưng điều này có tác dụng phụ không mong muốn là làm cho lastlogkhông thể sử dụng trên máy chủ.
Omid

0

Để lọc / etc / motd trong các tập lệnh tôi sử dụng (ví dụ này dành cho chương trình git)
git pull 2>&1 | grep -vF -f ~/bin/remote.motd | egrep -v "^$|^ $"
Tệp ~ / bin / remote.motd là một bản sao-dán của motd được cung cấp bởi hệ thống từ xa.


0

Trên hệ thống của tôi, nó đến từ Pam.

/etc/pam.d/postlogin chinh xac.

Tôi đã loại bỏ tin nhắn bằng cách bình luận các dòng hiện có và thêm:

session     optional      pam_lastlog.so silent
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.