1.syslogに出力された内容をファイルへ出力するようにsyslogのコンフィグに追記する
1# vi /etc/rsyslog.conf23# This rule to save the log output of sftp45local5.* /var/log/sftp.log2.出力先ファイルを予め作成しておく
1touch /var/log/sftp.log3.rsyslog.confを反映させるためrsyslogのデーモンを再起動する
1systemctl restart rsyslog4.opensshの設定ファイルを変更してsftpの操作ログをsyslogに出力するように編集する
1# vi /etc/ssh/sshd_config↓
1Subsystem sftp /usr/libexec/openssh/sftp-serverという行があるので、 -f LOCAL5 -l VERBOSE、を後ろに追記して、
1Subsystem sftp /usr/libexec/openssh/sftp-server -f LOCAL5 -l VERBOSEとなるようにする。
5.設定反映のためsshのデーモンを再起動する
ミスるとSSH出来なくなるので、下記の手順で構文チェックもしましょう。
まずsshdのフルパスをチェックする
1# which sshd2/usr/sbin/sshd以下実行して何も出なければOK
sshd_configファイルの構文チェックです。
1# /usr/sbin/sshd -tデーモン再起動
1# systemctl restart sshd6.WinSCPでテスト接続、ログが出るか確認
接続しただけで以下のようなログが出ます。
1[root@ip-172-31-3-xx log]# tail sftp.log23Jul 26 12:07:13 ip-172-31-3-xx sftp-server[32335]: session opened for local user ec2-user from [116.58.xxx.xxx]4Jul 26 12:07:13 ip-172-31-3-xx sftp-server[32335]: received client version 65Jul 26 12:07:13 ip-172-31-3-xx sftp-server[32335]: realpath "."6Jul 26 12:07:13 ip-172-31-3-xx sftp-server[32335]: opendir "/home/ec2-user"7Jul 26 12:07:15 ip-172-31-3-xx sftp-server[32335]: closedir "/home/ec2-user"7.任意でログファイルのローテート設定を行う
かなり膨大になるので何かしら設定した方がよいでしょう。
1# vi /etc/logrotate.d/syslog2/var/log/sftp.log以上です!