ユーザーがログインする方法(RDP、ssh、VNC、または他のタイプを使用)を知りたいです。 Linuxオペレーティングシステムに関係なく、一般的な方法でユーザーのログインタイプを表示するにはどうすればよいですか?
答え1
lsof
ユーザーがどのファイルで作業しているかを確認するために使用されるコマンドラインツール。すべてがファイルですLinuxでは、どのユーザーが「ssh」または「xvnc」(サーバーへの接続方法を意味)を使用しているかを確認するために使用できます。
SSHのCLIコードは次のとおりです。
% sudo lsof -i -n | egrep '\<ssh\>'
ssh 19749 user 3u IPv4 148088244 TCP x.x.x.x:39689->y.y.y.y:22 (ESTABLISHED)
ssh 19749 user 4u IPv6 148088282 TCP [::1]:9090 (LISTEN)
ssh 19749 user 5u IPv4 148088283 TCP 127.0.0.1:9090 (LISTEN)
vnc/rdp 接続の場合は、次のコマンドを使用できます。
$ sudo lsof -b -w -n -c /^Xvnc$/b -a -iTCP:5900-5999
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Xvnc 1625 guest 1u IPv4 252910 0t0 TCP 127.0.0.1:5910 (LISTEN)
Xvnc 1625 guest 9u IPv4 261226 0t0 TCP 127.0.0.1:5910->127.0.0.1:35242 (ESTABLISHED)