聆听22号港口

有什么方法可以在服务器上的端口22上侦听是否有人在ssh服务器上提交了任何命令? 或者说,输出什么命令被提交(和谁连接的IP地址),几乎就像一个“活”日志?

strace -o trace -f -p PID_OF_SSH # will give lots of output and very low level 

auth.log文件应该有一个SSHlogin历史(默认启用)。

如果您在端口22上运行SSH,则应该有极高的密码要求或使用SSH密钥并禁用密码validation。

不太可能。 如果你的ssh运行在端口22上( 按照它的意图 ),那么通信是encryption的。

w或谁或最后会让你看到谁连接。

如果他们将自己的命令logging到历史logging中,则可以检查其历史logging文件。

另外,这应该是超级用户 。

您可以使用进程记帐来保存服务器上运行的命令的详细日志。

在Debian上:

 apt-get install acct 

然后使用lastcomm来查看谁在什么时间运行了什么。 lastcomm --help列出了几种获取信息的方式,包括按用户,命令或tty进行过滤。

您可以使用last来确定将哪个虚拟terminal(例如pts / 9)分配给您感兴趣的ssh会话。然后继续该示例,运行:

 lastcomm pts/9 

打开SSH守护进程的日志logging。

  LogLevel Gives the verbosity level that is used when logging messages from sshd. The possible values are: QUIET, FATAL, ERROR, INFO, VER- BOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3. The default is INFO. DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify higher levels of debugging output. Logging with a DEBUG level violates the privacy of users and is not recommended.