如何检查我的macosx中有多少个远程ssh登录


3

我允许远程ssh登录到我的Mac。但是我只能在运行命令who时看到我的本地登录。我确定远程会话已通过ssh登录我的Mac。

localhost% who
kane     console  Jul 10 22:21 
kane     ttys000  Jul 10 22:21 
kane     ttys001  Jul 10 22:21 
kane     ttys002  Jul 10 22:21 
kane     ttys003  Jul 10 22:21

在linux主机中,它通过以下命令登录我的Mac,

user     12098 11413  0 21:01 ?        00:00:00 /usr/bin/ssh -L 27002:127.0.0.1:27002 -R 27002:127.0.0.1:27003 -q -N -o stricthostkeychecking=no -R 20008:localhost:6500 -R 20002:localhost:22 username@myhost.com

但是在linux主机上,who命令可以列出ssh​​登录。如何在Mac上列出远程ssh登录?

user@ubuntu-server:~$ who
user     tty1         2012-07-05 18:26
user     pts/1        2012-07-23 22:10 (123.120.xxx.xxx)

Answers:


3

我没有要检查的Mac,但在Unix上通常会有一些命令来显示谁登录:

  • 谁(你已经提到)
  • w(详细信息)
  • 用户(您也尝试过;只显示当前登录用户的名称)
  • 手指(带有一些个人信息)

那么也许一个尚未尝试过的(即w,finger)会为你正确地完成它的工作吗?如果没有,特别是OSX的更多可能性列在文章osx中 - 如何知道何时以及哪个用户登录到系统


1
只是为了好奇:他们中的哪一个终于在Mac上做到了?
Izzy

1
两者whow是用于识别本地和远程会话有用。我通过SSH连接到localhost,他们都能够将localhost作为原点。last似乎也有效。
凯文马克

2

在ubuntu上你last可以看到所有ssh和非ssh登录。我这里没有mac,当我回来时我会尝试。Bug快速谷歌搜索告诉我它也适用于Mac。


last可以列出登录历史记录。但是它在Ubuntu和Mac上仍有不同的行为。在ubuntu上它知道哪个会话仍然登录,user@ubuntu-server:~$ last user pts/1 123.120.xxx.xxx Mon Jul 23 22:10 still logged in user pts/1 127.0.0.1 Mon Jul 23 22:04 - 22:04 (00:00) 在Mac上它不再认为ssh会话还活着。但我可以通过转发端口登录远程服务器。ssh会话实际上还活着。 localhost% last username ttys004 114.249.xxx.xxx Mon Jul 23 20:02 - 20:02 (00:00)
凯恩

0

你可以grep把文件/private/var/log/secure.log

grep -E "sshd\[[1-9]+\]\: Accepted" /private/var/log/secure.log
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.