Linux/Basic
현재 서버에 ssh로 접속한 계정 확인하기
Tongchun
2019. 3. 21. 14:37
회사에 시스템 테스트용으로 CentOS를 두고있는데 갑자기 현재 누가 ssh로 접속하고 있는지 궁금해 졌습니다.
몇 가지 방법이 있는데 정리해 보겠습니다.
우선 netstat 명령으로 확인하는 방법입니다.
CentOS에서 netstat를 사용하려면 net-tools를 설치해야 합니다.
$ sudo yum install net-tools
net-tools이 설치되어 있다면 아래 netstat 명령으로 확인해 봅니다.
sudo netstat -tnpa | grep 'ESTABLISHED.*sshd'
$ sudo netstat -tnpa | grep 'ESTABLISHED.*sshd' tcp 0 0 10.10.5.0:22 10.10.5.104:50618 ESTABLISHED 12719/sshd: tongchu
현재는 저 혼자네요.
10.10.5.0 서버에 ssh 포트인 22번으로 10.10.5.104 ip쓰는 서버가 접속해 있는데 연결 포트는 50618입니다.
계정은 tongchun으로 접속했네요.
process 리스트에서 sshd를 사용하고 있는 계정을 찾을 수도 있습니다.
ps auxwww | grep sshd:
$ ps auxwww | grep sshd: root 12719 0.0 0.0 158868 5688 ? Ss 01:06 0:00 sshd: tongchun [priv] tongchun 12726 0.0 0.0 158868 2320 ? S 01:06 0:00 sshd: tongchun@pts/0 tongchun 13878 0.0 0.0 116872 1040 pts/0 S+ 01:28 0:00 grep --color=auto sshd:
가장 간단한 방법으로는 $SSH_CONNECTION를 확인할 수도 있습니다.
ssh로 연결된 정보는 시스템의 $SSH_CONNECTION 변수에 담겨있습니다.
echo $SSH_CONNECTION
$ echo $SSH_CONNECTION 10.10.5.104 50618 10.10.5.0 22
그리고 who 명령만으로도 확인할 수도 있습니다.
who
$ who tongchun tty1 2019-03-20 05:18 tongchun pts/0 2019-03-21 01:06 (10.10.5.104)
여기까지 ssh로 접속한 계정 확인 방법이었습니다.