웹사이트 검색

Linux에서 활성 SSH 연결을 찾는 방법


이 페이지에서

  1. 전제 조건
  2. who 명령으로 활성 SSH 연결 찾기\n
  3. w 명령으로 활성 SSH 연결 찾기\n
  4. ps 명령으로 활성 SSH 연결 찾기\n
  5. netstat 명령으로 활성 SSH 연결 찾기\n
  6. 마지막 명령으로 활성 SSH 연결 찾기\n
  7. ss 명령으로 활성 SSH 연결 찾기\n
  8. 결론

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 연결을 찾는 방법을 배웠습니다. 이제 누가 서버에 로그인했는지 쉽게 모니터링할 수 있습니다.