루트에 로그인하기 위한 IP 주소를 어떻게 결정합니까?

루트에 로그인하기 위한 IP 주소를 어떻게 결정합니까?

내가 담당하는 특정 가상 머신에 대한 루트 액세스 권한을 가진 사람이 여러 명 있습니다. 루트로 로그인하는 데 사용할 IP 주소를 알고 싶습니다.

답변1

last이 정보는 다음 명령을 사용하여 얻을 수 있습니다.

# last|head
phemmer  ssh          192.168.0.24     Wed Aug 20 21:08 - 21:08  (00:00)
phemmer  pts/13       192.168.0.2      Wed Aug 20 14:00 - 18:43  (04:43)
phemmer  ssh          192.168.0.2      Wed Aug 20 14:00 - 18:43  (04:43)
phemmer  ssh          ::1              Wed Aug 13 23:08 - 23:08  (00:00)
phemmer  ssh          ::1              Wed Aug 13 23:08 - 23:08  (00:00)
phemmer  ssh          ::1              Wed Aug 13 23:07 - 23:07  (00:00)
phemmer  pts/15       192.168.0.20     Thu Aug  7 19:00 - 19:00  (00:00)
phemmer  ssh          192.168.0.20     Thu Aug  7 19:00 - 19:00  (00:00)
phemmer  :0                            Wed Jul 30 20:06   still logged in
reboot   system boot  3.13.2-gentoo    Wed Jul 30 20:05   still running

물론 세 번째 열에는 SSH 로그인을 위한 원격 IP 주소가 표시됩니다.

last파일을 사용하므로 /var/log/wtmp이 방법은 G-Man의 답변과 유사합니다(파일 경로를 지정할 필요가 없기 때문에 조금 더 간단합니다).

답변2

이는 배포판이나 운영 체제에 따라 다릅니다. sshd각 로그인은 어딘가에 기록되며 다음 형식으로 로그인에 연결된 IP 주소를 포함합니다.

Aug 20 15:56:53 machine sshd[2728]: Accepted publickey for root from 192.168.1.2 port 49297

이 부분은 일관되지만, 거기까지 가는 방법은 다를 수 있다. 시스템 기반systemd, 사용 journalctl:

journalctl /usr/bin/sshd

sshd실행 파일의 모든 로그 메시지를 나열합니다 . grep을 통해 루트 로그인이나 기타 기준을 찾아 --since날짜별로 제한할 수 있습니다 --until(참고자료 참조 man journalctl).

또는 역사적으로 메시지는 (일반적으로) 에 기록됩니다 /var/log. 일반적으로 sshd메시지는 에 기록되지만 /var/log/auth.log정확한 파일은 크게 다를 수 있습니다. 그것이 무엇이든:

grep sshd /var/log/auth.log

journalctl해당 버전과 거의 동일한 출력을 제공합니다 .

답변3

주문하다

who /var/log/wtmp

who표시된 것과 같은 정보를 표시해야 하지만 시간을 거슬러 올라갑니다.

답변4

간략하게 설명해주신 내용으로 볼 때 로그 모니터링 시스템을 설정해 놓으면 더 좋을 것 같습니다. 로그인을 모니터링하고, 알림을 생성하고, 며칠 동안의 데이터를 비교하고, 차트를 작성하는 데 도움이 됩니다.

하지만 모니터링이 필요한 경우일시적으로last, 명령을 사용할 수 있습니다 .

last | grep root | grep -v tty | awk '{print $3}'

IPs그러면 로그인 했거나 로그인 한 루트 사용자 목록이 제공됩니다 Hostnames.

관련 정보