SSH를 통해 내 Linux 시스템에 누가 액세스하고 있는지 어떻게 추적합니까?

SSH를 통해 내 Linux 시스템에 누가 액세스하고 있는지 어떻게 추적합니까?

저는 우분투 10.04를 실행하고 있습니다. 누가 상자에 로그인했는지, 언제, 그리고 심지어 – 너무 많은 질문이 있을지도 모르지만 – 그들이 어떤 명령을 사용했는지에 대한 일일 보고서를 얻을 수 있는 방법이 있습니까? 이것은 사용률이 낮은 상자이므로 해당 상자에서 일어나는 활동을 확인하는 좋은 방법이라고 생각했습니다.

마찬가지로 비대화형 셸(예: rsync 또는 ssh를 통해 원격으로 단일 명령 실행)을 통해 상자의 작업이 완료되는 시기를 추적할 수 있는 방법이 없다고 들었습니다. 이것이 사실입니까, 아니면 이를 기록하고 추적할 수 있는 방법이 있습니까?

답변1

로그인한 사람에 대한 정보는 /var/log/auth.log(또는 다른 배포판의 다른 로그 파일)에서 찾을 수 있습니다. 구성에 대한 관련 정보를 추출할 수 있는 여러 로그 모니터링 프로그램이 있습니다. 정상적인 시스템에서는 모든 사용자 인증이 기록됩니다.

각 명령 호출(인수 제외)을 기록하려면 다음을 사용하십시오.프로세스 회계,에 의해 제공acct 계정 설치우분투에서. 회계 하위 시스템이 실행 중이면lastcomm완료된 프로세스에 대한 정보를 표시합니다.

답변2

SSH 사용자를 포함하여 현재 시스템에 로그인한 사용자를 사용 who하거나 볼 수도 있습니다 .w

답변3

콘솔에 명령을 입력해 last로그인한 사용자 이름(그러나 로그인 후 사용자 이름이 변경되었는지 여부는 기록되지 않음), IP, 날짜 및 기간을 포함한 모든 최근 로그인 정보를 표시할 수도 있습니다. 시간에 로그인하십시오.

@jasonwryan은 여기 댓글에서 이 명령을 언급했습니다.

답변4

2명령은 동일한 결과를 제공하며 누가 로그인했는지 확인하는 데 자주 사용합니다.

참고: 22.22.22.224번 로그인했는데 여전히 존재합니다.

last




root     pts/0        22.22.22.22    Fri Apr 23 08:36   still logged in
root     pts/0        22.22.22.22    Fri Apr 23 08:29 - 08:36  (00:06)
root     pts/0        22.22.22.22    Fri Apr 23 08:27 - 08:29  (00:02)
root     pts/0        22.22.22.22    Fri Apr 23 08:25 - 08:27  (00:01)
root     pts/0        22.22.22.22    Thu Apr 15 11:51 - 12:00  (00:09)
reboot   system boot  5.4.0-51-generic Thu Apr 15 11:50   still running

wtmp begins Thu Apr 15 11:50:06 2021

===========

grep -E "Accepted publickey" /var/log/auth.log




Apr 23 12:25:50 server sshd[59026]: Accepted publickey for root from 22.22.22.22 port 62685 ssh2: RSA SHA256:12
Apr 23 12:27:41 server sshd[59165]: Accepted publickey for root from 22.22.22.22 port 63240 ssh2: RSA SHA256:12
Apr 23 12:29:52 server sshd[60083]: Accepted publickey for root from 22.22.22.22 port 63860 ssh2: RSA SHA256:12
Apr 23 08:36:27 server sshd[63873]: Accepted publickey for root from 22.22.22.22 port 49318 ssh2: RSA SHA256:12

관련 정보