11 我在办公室运行linux文件服务器,我们使用SFTP供远程合作伙伴登录和下载文件。有没有办法查看是否有活动的连接或登录,以便我可以知道何时可以安全地对机器进行维护? 由于机器几乎一直在处理大型文件,因此经常由于有人上传而导致定期维护失败 linux ssh sftp — 音频跟踪 source
11 您也可以这样做: ps -ef | grep '[s]shd' | grep -v ^root 它应该显示任何sshd会话(用于sftp)。我在我的机器上注意到,我的sshd进程命令行包含“ $ USER @ notty”,这很有意义,因为我没有通过终端会话登录。您可以使用以下命令加强上述grep: ps -ef | grep '[s]shd:.*@notty' | grep -v ^root 顺便说一句: grep中的方括号不要在进程列表中显示“ grep sshd”进程。[s] shd与sshd匹配,但与自身不匹配。它保存一个'grep -v grep' — 里奇·霍莫尔卡 source 4 我最终使用netstat -atn | grep ':22'来查看端口22上是否有开放的通信量。我还发现我可以检查系统上位于'/var/log/auth.log'的sshd日志,以查看是否所有打开过sshd的用户都可以访问。会议已经结束。 — aVeRTRAC
1 我认为您可以使用命令行程序who来查看此内容。我注意到一些报告认为这样做无效,但我仍然认为它可能有效(也许是ssh设置)。 sftp是建立在SSH之上的。它代表“ SSH文件传输协议”。当您通过ssh登录时,“谁”会将您包括在登录用户中,并显示输出信息。因此,我希望它也可以与活动的sftp会话一起使用。 这从2008年的讨论也表明你可以使用该用“netstat”。它还包括通过“监视”运行“谁”的建议,以便您无需执行任何操作即可查看更新。 — 詹姆斯·T·斯内尔 source 1 谁不显示通过ssh登录的用户(我只是从笔记本电脑登录并检查)。 — aVeRTRAC 这是古怪的,那一定是一个设定。至于我敢肯定这该死的做了这么为我..好多年,多年.. — 詹姆斯牛逼斯内尔 知道该设置在哪里吗?我在工作时在一台公共服务器上尝试了此操作,并列出了多个用户,从中看起来很真实。 — aVeRTRAC 1 谁显示谁当前正在运行登录外壳。根据用户的运行情况,它可能会或可能不会被视为登录外壳。服务器sftp的一半没有,因此为什么sftp会话不显示在谁身上。 — 珀金斯
netstat -atn | grep ':22'
来查看端口22上是否有开放的通信量。我还发现我可以检查系统上位于'/var/log/auth.log'的sshd日志,以查看是否所有打开过sshd的用户都可以访问。会议已经结束。