Bỏ qua tin nhắn máy chủ trong rsync


12

Khi tôi rsynchoặc scptừ một máy chủ cụ thể, tôi nhận được một tin nhắn khá dài cho tôi biết các quy tắc của máy chủ. Tuy nhiên, khi tôi thiết lập các thao tác kéo thông thường, tôi muốn có thể chặn các tin nhắn đó trong nhật ký của mình. Nhìn qua trang người đàn ông cho thấy rằng -qnên hoạt động, nhưng điều đó chỉ làm dịu các tin nhắn từ chính scp. Tôi có thể làm cái này như thế nào?

Câu trả lời:


6

Đối với rsync, nó có một --no-motdbạn có thể sử dụng để chặn motd cho tập lệnh của mình và chỉ nhìn thấy đầu ra của rsync đang truyền. Có vẻ như nó đã được thêm vào trong rsync 3.x vì tôi không thấy tùy chọn đó trong 2.x.

Trang hướng dẫn liệt kê một cảnh báo về việc không sử dụng nó khi cố gắng lấy danh sách các mô-đun bạn có thể rsync:

- không-motd

Tùy chọn này ảnh hưởng đến thông tin được xuất ra bởi máy khách khi bắt đầu chuyển daemon. Điều này ngăn chặn văn bản thông báo trong ngày (MOTD), nhưng nó cũng ảnh hưởng đến danh sách các mô-đun mà trình nền gửi đến để đáp ứng yêu cầu "rsync host ::" (do giới hạn trong giao thức rsync), do đó, do giới hạn trong giao thức rsync), do đó bỏ tùy chọn này nếu bạn muốn yêu cầu danh sách các mô-đun từ trình nền.

Đối với scp, cố gắng chạm vào tập tin ~/.hushlogin. Khi tôi scp tập tin, tôi không thấy motd mặc dù thiết lập của bạn có thể khác. Trang người đàn ông logincó thêm thông tin:

Nếu tệp .hushlogin tồn tại, thì đăng nhập "im lặng" được thực hiện (điều này vô hiệu hóa việc kiểm tra thư và in thời gian đăng nhập cuối cùng và tin nhắn trong ngày). Mặt khác, nếu / var / log / lastlog tồn tại, thời gian đăng nhập cuối cùng được in (và thông tin đăng nhập hiện tại được ghi lại).


7
rsync --no-motdkhông làm việc cho tôi. SSH MOTD vẫn đang được hiển thị.
Alicia

17

Trong trường hợp bạn không muốn gây rối với ~/.ssh/configtệp cục bộ của mình và --no-motdtùy chọn này cũng không hiệu quả với bạn, tôi đã thành công khi đặt RSYNC_RSHbiến env.

RSYNC_RSH="ssh -q" rsync

Bạn cũng có thể thử sử dụng tùy chọn rsync -e

rsync -e 'ssh -q'

Điều đó làm việc cho tôi khi --no-motdthất bại.
RonJohn

5

Nếu phiên bản của rsyncbạn không hỗ trợ --no-motdtùy chọn, việc đưa LogLevel quietvào ~/.ssh/configsẽ thực hiện thủ thuật.


Các LogLevel quiettùy chọn làm việc cho tôi. Lưu ý : Tôi đã phải tạo tệp ( ~/.ssh/config), nhưng tôi đã đặt vào một dòng và voila! không còn /etc/issue.nethiển thị nữa!

0

Trên hệ thống SuSE 11 của tôi, tôi đã tìm thấy thông báo biểu ngữ trong /etc/su.net và sau đó nhận ra dòng biểu ngữ trong tệp / etc / ssh / sshd_config của tôi.

#banner /etc/issue.net

Sau đó khởi động lại daemon ssh

service sshd restart

Điều này đã loại bỏ biểu ngữ khi sử dụng scp bên trong các tập lệnh và dọn sạch các tệp nhật ký.


-1

Bạn có thể có thể triệt tiêu motd bằng cách chuyển hướng STDERRđến / dev / null, nhưng theo cách đó bạn cũng sẽ bỏ lỡ tất cả các thông báo lỗi khác.

scp src dst 2> /dev/null

Đây không phải là một tùy chọn, tất cả đầu ra đang được chuyển đến một tệp nhật ký cần xem lại sau - lỗi rất quan trọng!
Hooked
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.