Linux에서 활성 SSH 연결을 찾는 방법
이 페이지에서
- 전제 조건
- who 명령으로 활성 SSH 연결 찾기\n
- w 명령으로 활성 SSH 연결 찾기\n
- ps 명령으로 활성 SSH 연결 찾기\n
- netstat 명령으로 활성 SSH 연결 찾기\n
- 마지막 명령으로 활성 SSH 연결 찾기\n
- ss 명령으로 활성 SSH 연결 찾기\n
- 결론
Linux 시스템 관리자이고 서버 관리를 담당하는 경우 서버에서 활성화된 ssh 연결 수와 연결 위치를 알아야 하는 경우가 많습니다. 서버에서 활성 SSH 연결을 찾기 위해 Linux에서 사용할 수 있는 몇 가지 명령과 도구가 있습니다.
이 튜토리얼에서는 Linux에서 다양한 방법으로 활성 SSH 연결을 찾는 방법을 보여줍니다.
전제 조건
- Linux 운영 체제를 실행하는 서버.\n
- 해당 서버에 대한 루트 액세스 권한이 있습니다.\n
who 명령으로 활성 SSH 연결 찾기
who는 현재 서버에 로그인한 사용자 목록을 표시하는 데 사용되는 Linux 명령줄 유틸리티입니다.
터미널을 열고 who 명령을 실행하여 서버에서 활성 연결을 찾습니다.
who
다음과 같은 결과가 표시되어야 합니다.
root pts/0 2020-05-01 02:37 (27.61.161.61) root pts/1 2020-05-01 02:39 (45.58.38.21)
보시다시피 IP 27.61.161.61 및 45.58.38.21에서 두 개의 활성 SSH 연결이 있습니다.
w 명령으로 활성 SSH 연결 찾기
w는 서버에 현재 로그인한 사용자에 대한 정보를 표시하는 또 다른 명령줄 유틸리티입니다. 이 명령은 활성 세션과 해당 세션에서 실행 중인 프로세스를 명령하는 것보다 더 많은 정보를 제공합니다.
아래와 같이 w 명령을 실행할 수 있습니다.
w
다음과 같은 결과가 표시되어야 합니다.
02:40:07 up 1 day, 18:35, 2 users, load average: 0.02, 0.02, 0.00 USER TTY FROM IDLE JCPU PCPU WHAT root pts/0 27.61.161.61 02:37 1.00s 0.04s 0.01s ssh root pts/1 45.58.38.21 02:39 1.00s 0.02s 0.00s w
보시다시피 이 명령은 유휴 시간 세부 정보, 소스 IP, 로그인 시간, 로드 평균 및 프로세스도 표시합니다.
ps 명령으로 활성 SSH 연결 찾기
ps 명령은 서버의 활성 SSH 세션에 대한 정보도 제공합니다. 활성 SSH 연결의 PID와 같은 추가 정보를 제공합니다.
아래와 같이 ps 명령을 실행할 수 있습니다.
ps auxwww | grep sshd: | grep -v grep
다음 출력이 표시되어야 합니다.
root 609 0.0 0.1 12160 7268 ? Ss Apr29 0:01 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups root 35532 0.0 0.2 13864 8796 ? Ss 02:37 0:00 sshd: /0 root 35669 0.0 0.2 13860 8916 ? Ss 02:38 0:00 sshd: /1
netstat 명령으로 활성 SSH 연결 찾기
Netstat는 원격 호스트에서 서버로의 활성 또는 설정된 SSH 연결을 표시하는 데 사용할 수 있는 명령줄 도구입니다.
아래와 같이 netstat 명령을 실행할 수 있습니다.
netstat -tnpa | grep 'ESTABLISHED.*sshd'
다음 출력이 표시되어야 합니다.
tcp 0 88 45.58.38.21:22 27.61.161.61:8363 ESTABLISHED 35532/sshd: tcp 0 0 45.58.38.21:22 45.58.38.21:51166 ESTABLISHED 35669/sshd:
마지막 명령으로 활성 SSH 연결 찾기
마지막 명령은 /var/log/wtmp 파일이 생성된 이후 로그인 및 로그아웃한 모든 사용자 목록을 표시하는 데 사용됩니다. 마지막 명령을 사용하면 클라이언트와 서버 간의 활성 SSH 연결 정보도 찾을 수 있습니다.
다음 명령을 실행하여 서버에서 활성 SSH 연결을 찾으십시오.
last -a | grep -i still
다음 출력이 표시되어야 합니다.
root pts/1 Fri May 1 02:39 still logged in 45.58.38.21 root pts/0 Fri May 1 02:37 still logged in 27.61.161.61 reboot system boot Wed Apr 29 08:04 still running 5.4.0-26-generic
ss 명령으로 활성 SSH 연결 찾기
ss는 netstat와 매우 유사하며 다른 도구보다 더 많은 정보를 표시하는 데 사용됩니다. grep과 함께 ssh 명령을 사용하여 서버의 활성 SSH 연결을 나열할 수 있습니다.
아래와 같이 grep을 사용하여 ss 명령을 실행합니다.
ss | grep -i ssh
다음 출력이 표시되어야 합니다.
tcp ESTAB 0 0 45.58.38.21:51166 45.58.38.21:ssh tcp ESTAB 0 56 45.58.38.21:ssh 27.61.161.61:8363 tcp ESTAB 0 0 45.58.38.21:ssh 45.58.38.21:51166
보시다시피 클라이언트 IP 45.58.38.21 및 27.61.161.61에서 두 개의 활성 연결이 있습니다.
결론
위 가이드에서는 다양한 방법으로 활성 SSH 연결을 찾는 방법을 배웠습니다. 이제 누가 서버에 로그인했는지 쉽게 모니터링할 수 있습니다.