שאלה SFTP רישום: האם יש דרך?


אני תוהה אם יש דרך להיכנס פקודות שהתקבלו על ידי השרת. זה יכול להיות כל פקודות SSH, כל עוד הוא כולל מידע על פקודות הקשורות העברת קבצים.

אני נתקל בבעיות עם לקוח SFTP והיוצר מבקש יומנים, אך אין באפשרותי למצוא יומנים קיימים.

אני מחפש להיכנס או שניהם CentOS או OS X (אם כי אני חושד אם זה אפשרי, זה יהיה דומה על שניהם).


82
2017-10-11 01:42






תשובות:


OpenSSH גרסאות 4.4p1 ומעלה (אשר אמור לכלול את הגירסה האחרונה עם CentOS 5) יש יכולת כניסה SFTP מובנה - אתה רק צריך להגדיר את זה.

מצא את זה ב sshd_config שלך (ב centos, קובץ / etc / ssh / sshd_config)

Subsystem       sftp    /usr/libexec/openssh/sftp-server

ולשנות אותו ל:

Subsystem       sftp    /usr/libexec/openssh/sftp-server -l INFO

INFO הוא רק רמה אחת של פירוט על מה שאתה רואה כברירת מחדל - הוא מספק מידע מפורט לגבי העברות קבצים, שינויים הרשאה, וכו 'אם אתה צריך מידע נוסף, אתה יכול להתאים את רמת היומן בהתאם. הרמות השונות (לפי סדר הפירוט) הן:

QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3

כל דבר מעל VERBOSE הוא כנראה מידע יותר ממה שאתה מחפש, אבל זה עשוי להיות שימושי.

לבסוף הפעל מחדש את שירות SSH כדי לעדכן את השינויים (centos):

systemctl restart sshd

87
2017-10-13 23:21



אני לא יודע שאתה יכול להיכנס SFTP ככה, זה מה שאני צריך. היכן הוא מאחסן את היומנים? /var/log/auth.log? - Rory
זה תלוי בתצורת syslog שלך. באמצעות loglogle INFO, רוב syslog.conf ברירת המחדל של מקום אלה ערכים / var / יומן / הודעות. - rvf
האם ניתן לעשות זאת באמצעות שרת sftp פנימי? - Cian
זה עובד באופן מושלם עבור SFTP, אבל מה לגבי SCP? לא מצאתי רשומות ביומן עבור קובץ שהועתק עם הפקודה scp, למרות שהיומן היה מוצלח עבור sftp - Ale
ב- Ubuntu, יומני הרישום האלה כברירת מחדל /var/log/auth.log. הוסף -f USER לזה Subsystem שורת הפקודה לשלוח אותם /var/log/syslog. - Throwaway Account 3 Million


בוררי אותו סביב כניסה עבור שרת sftp גם לעבוד פנימי sftp. הנה דוגמה שלי / etc / ssh / sshd_config:

Subsystem   sftp    internal-sftp -f AUTH -l INFO

עם רישום ברמת INFO, הודעות מופעלות יתחילו להופיע תחת / var / log / הודעות (לפחות תחת Red Hat based Distros):

May 27 05:58:16 test-server sshd[20044]: User child is on pid 20049
May 27 05:58:16 test-server sshd[20049]: subsystem request for sftp by user test-user
May 27 05:58:16 test-server internal-sftp[20050]: session opened for local user test-user from [192.168.1.1]
May 27 05:58:16 test-server internal-sftp[20050]: received client version 3
May 27 05:58:16 test-server internal-sftp[20050]: realpath "."
May 27 05:58:21 test-server internal-sftp[20050]: opendir "/home/test-user/"
May 27 05:58:21 test-server internal-sftp[20050]: closedir "/home/test-user/"
May 27 05:58:21 test-server internal-sftp[20050]: lstat name "/home/test-user/upload"
May 27 05:58:21 test-server internal-sftp[20050]: realpath "/home/test-user/upload/"
May 27 05:58:21 test-server internal-sftp[20050]: stat name "/home/test-user/upload"
May 27 05:58:24 test-server internal-sftp[20050]: open "/home/test-user/upload/test-file.pdf" flags WRITE,CREATE,TRUNCATE mode 0664
May 27 05:58:25 test-server internal-sftp[20050]: close "/home/test-user/upload/test-file.pdf" bytes read 0 written 1282941

39
2018-05-29 12:42



גיליתי, כי במקרה שלי זה רק יומן sftp הפעלות עבור שורש אבל לא עבור המשתמש שלי chrooted הבדיקה. אני לא מבין למה, יש לך רעיונות? - JohnnyFromBF
נראה שאתה צריך /dev/log באזור החרוט שלך. משהו כמו sudo mkdir /chrooted/area/dev, sudo touch /chrooted/area/dev/log, sudo chmod 511 /chrooted/area/dev, sudo chattr +i /chrooted/area/dev, sudo mount --bind /dev/log /chrooted/area/dev/log. למשתמשים עדיין תהיה גישה לכתוב זה / dev / log, אבל כמו זה שקע, הם לא יכולים לעשות הרבה נזק אם כל מה שיש להם גישה היא sftp. - sch
תודה על הרמז. אני לא מצליח לעשות את זה עובד, עם זאת. אתה יכול להיות קצת יותר ספציפי? - user1092608
FWIW: ב Archiinux Wiki יש תיאור טוב על איך לאפשר כניסה בסביבה chroot: ויקיפדיה העברית - Kaii