동일한 라우터/서버에 액세스하는 모든 사용자의 모든 SSH 세션에 대한 쉘 명령을 Linux의 로그 파일에 기록하는 방법은 무엇입니까?

동일한 라우터/서버에 액세스하는 모든 사용자의 모든 SSH 세션에 대한 쉘 명령을 Linux의 로그 파일에 기록하는 방법은 무엇입니까?

기록이 지워지면 모든 명령이 사라지지만 내 로그 파일에는 항상 있어야 하기 때문에 내장 명령(예: 기록)을 사용하지 않습니다. 내 이해에 따르면 1. 사용자가 ssh를 통해 로그인하면 데몬이 백그라운드에서 실행되기 시작하고 모든 명령이 로그 파일로 리디렉션됩니다. 2. 로그 파일에는 최대 500개의 명령이 포함되어야 합니다(logrotate.conf를 통해 수행됨).

sshd 데몬에서 코드를 변경해야 합니까? 아니면 어떻게 해야 할까요?

답변1

"사용자 명령"을 정의하십시오. 입력 줄이 있지만 그것이 명령(최상위 셸에서 읽음)인지 아니면 두 번째 수준 셸의 명령을 포함하는 응용 프로그램에 대한 입력인지 알 수 없습니다. 그러면 화면 기반 편집기( nano, ) vi에서 무슨 일이 일어나는지 , 스크립트가 무엇을 하는지 알 수 없습니다.

관련 정보