ssh 和 sshd 分别负责什么任务?

ssh 和 sshd 分别负责什么任务?

我知道 sshd 是 SSH 守护进程,也充当 SSH 服务器。我对细节更感兴趣。从 ssh 的手册页来看,

https://linux.die.net/man/1/ssh

有一些高级解释,比如它是一个用于登录远程机器并执行命令的程序,但是关于 sshd 的工作以及 ssh 所做的事情的细节并不多。

有任何想法吗?

BR帕特里克

编辑

我知道 sshd 也有一个手册页,

https://linux.die.net/man/8/sshd

然而,这并没有为我的问题提供更多答案。这里有些事情有点晦涩难懂,如果知道的话会更好。

  • 例如,sshd 中是否建立了 TCP 连接,如果建立了,ssh 如何访问它?
  • sshd 中的会话是否同时为传出和传入连接设置,或者 ssh 程序是否处理传出连接?
  • sshd 是否始终处理连接,还是将其委托给 ssh?如果是那样,该怎么做?

答案1

您的问题不清楚。

  • SSHD服务器(类似于提供 https 服务的 Web 服务器)
  • SSH客户(类似于浏览器)。

为了正常工作,需要协商一组兼容的协议和身份验证机制。通常,服务器定义它将接受什么,而客户端协商最佳的通用协议。

SSH 协议本身只不过是一个经过深思熟虑、经过加密和验证的 TCP 流,通常允许其他流通过它进行隧道传输。它通常用于运行像 telnet 这样的交互式会话,但它同样可以用于隧道传输/其他协议,或扩展以允许 scp 文件传输。通常,SSH 客户端将定义语法,而客户端和服务器需要协同工作才能启用该功能。

通常,客户端(用户)将使用用户凭证向服务器验证自身身份。服务器通常不会向客户端验证身份,但会提供自己的(服务器)公钥,该公钥可被指纹识别、检查和记住,以阻止 MITM 攻击。

相关内容