sFTP 进程 ID 解释一下?

sFTP 进程 ID 解释一下?

有人能从控制/数据层面向我解释一下 sftp 在创建连接和传输数据时所进行的过程吗?我了解 ssh 身份验证等基础知识,但例如,如果我在日志文件中有以下内容:

Sep 16 15:31:34 localhost sshd[4274]: Postponed publickey for sftp1 from 172.16.221.1 port 56069 ssh2
Sep 16 15:31:34 localhost sshd[4273]: Accepted publickey for sftp1 from 172.16.221.1 port 56069 ssh2
Sep 16 15:31:34 localhost sshd[4273]: pam_unix(sshd:session): session opened for user sftp1 by (uid=0)
Sep 16 15:31:34 localhost sshd[4276]: subsystem request for sftp
Sep 16 15:31:36 localhost sshd[4276]: Received disconnect from 172.16.221.1: 11: disconnected by user
Sep 16 15:31:36 localhost sshd[4273]: pam_unix(sshd:session): session closed for user sftp1

通常,使用常规 ftp 时,我会知道所有这些连接都通过进程 ID 相互关联,那么在查看 sftp 的日志文件时,您将如何跟踪这样的事情?上面的示例有三个不同的进程 ID,当同时有其他 sftp 连接时,尝试跟踪它会令人困惑。我在谷歌上搜索过,有很多关于如何设置 sftp 服务器等的文档,但没有关于如何理解数据流的文档。

提前致谢。

答案1

每个进程 ID(4274、4276 等)代表sshd处理不同客户端的程序的不同实例。因此,如果您只查看 PID 4274 的行,您会看到处理特定客户sshd端连接的特定实例的日志消息。

除此之外,我不确定你在问什么。我会注意到 FTP 为每个正在传输的文件建立一个新的 TCP 连接,因此您可能会看到每个文件传输的单独日志条目。SFTP 为每个会话使用单个 TCP 连接,并且不会为每个文件建立新的 TCP 连接。SSHD 和 SFTP 服务器程序通常也不会记录有关它们正在做什么的大量详细信息。因此,您不会在日志中看到有关用户正在做什么的大量详细信息。

相关内容