Soru SFTP kaydı: bir yolu var mı?


Sunucu tarafından alınan komutları günlüğe kaydetmenin bir yolu olup olmadığını merak ediyorum. Dosya aktarımıyla ilgili komutlar hakkında bilgi içerdiği sürece tüm SSH komutları olabilir.

Bir SFTP istemcisiyle ilgili sorunlar yaşıyorum ve içerik oluşturucu günlükleri istiyor ancak mevcut günlükleri bulamıyorum.

Ben ya Centow ya da OS X (ya da mümkün olup olmadığından şüpheleniyor olsa da, her ikisinde de benzer olurdu) veya oturum açmak için arıyorum.


82
2017-10-11 01:42


Menşei




Cevaplar:


OpenSSH sürümleri 4.4p1 ve üstü (en son sürümü CentOS 5 ile içermelidir) SFTP günlüğe kaydetme kabiliyetine sahiptir - sadece yapılandırmanız gerekir.

Bunu sshd_config dosyasında (centos, dosyada) bulun / Etc / SSH / sshd_config):

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

ve değiştirin:

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

INFO, varsayılan olarak gördüğünüzle ilgili bir ayrıntı seviyesidir - dosya aktarımları, izin değişiklikleri vb. İle ilgili ayrıntılı bilgi sağlar. Daha fazla bilgiye ihtiyacınız varsa, günlük seviyesini buna göre ayarlayabilirsiniz. Çeşitli seviyeler (detay sırasına göre):

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

VERBOSE üzerinde herhangi bir şey, muhtemelen aradığınızdan daha fazla bilgi olabilir, ancak yararlı olabilir.

Son olarak, değişiklikleri güncellemek için SSH hizmetini yeniden başlatın (centos):

systemctl restart sshd

87
2017-10-13 23:21



SFTP'yi böyle kaydedebileceğini bilmiyordum, ihtiyacım olan buydu. Günlükleri nerede saklar? /var/log/auth.log - Rory
Syslog yapılandırmanıza bağlıdır. INFO loglevel'i kullanarak, çoğu varsayılan syslog.conf bu girdileri / var / log / messages dizinlerine yerleştirir. - rvf
Bunu dahili sftp sunucusunu kullanarak yapmak mümkün mü? - Cian
Bu SFTP için mükemmel çalışıyor, ama SCP hakkında ne? Günlük, sftp için başarılı olmasına rağmen, scp komutuyla kopyalanan bir dosya için günlükte herhangi bir giriş bulamadım. - Ale
Ubuntu'da, bu günlükler varsayılan olarak /var/log/auth.log. Eklemek -f USER Buna Subsystem onları göndermek için /var/log/syslog. - Throwaway Account 3 Million


Aynı sftp sunucusu için oturum açma anahtarları da dahili-sftp için çalışır. İşte / etc / ssh / sshd_config adresinden bir örnek:

Subsystem   sftp    internal-sftp -f AUTH -l INFO

INFO seviyesi ile günlüğe kaydetme etkinleştirilmiş mesajlar / var / log / messages (en azından Red Hat tabanlı Distros'un altında) altında görünmeye başlar:

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



Keşfettim ki, benim durumumda sadece root için sftp oturumları kaydeder ama chrooted kullanıcı testim için değil. Nedenini anlamıyorum, herhangi bir fikrin var mı? - JohnnyFromBF
İhtiyacın var gibi gözüküyor /dev/log chroot bölgenizde. Gibi bir şey 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. Kullanıcılar bu / dev / log'a hala yazma erişimine sahip olacaklar, ancak bir soket olduğu için, sahip oldukları her şey için çok fazla zarar veremezler. sftp. - sch
İpucu için teşekkürler. Ancak, bunu yapmak için görünmüyor olabilir. Biraz daha spesifik olabilir misin? - user1092608
FWIW: ArchLinux Wiki'de chroot ortamında günlüğe kaydetmeyi etkinleştirmek için iyi bir açıklama var: wiki.archlinux.org/index.php/SFTP_chroot#Logging - Kaii