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