首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sshd认证过程是如何工作的?

sshd认证过程是如何工作的?
EN

Unix & Linux用户
提问于 2022-01-15 04:08:36
回答 1查看 83关注 0票数 1

在sshd(8)手册页中:

OpenSSH SSH守护进程只支持SSH协议2。每个主机都有一个特定于主机的密钥,用于标识主机.每当客户端连接时,守护进程都会使用它的公共主机键进行响应。客户端将主机密钥与自己的数据库进行比较,以验证其未更改。前向保密是通过Diffie-Hellman密钥协议提供的。此密钥协议将导致共享会话密钥。会话的其余部分使用对称密码进行加密。

(我强调)

有人能向我解释一下认证过程是如何工作的吗?据我所知:

  1. 每个主机将有一个唯一的ssh密钥(公共和私有)
  2. 当客户端连接到服务器时,sshd守护进程向客户端提供一个公钥。
  3. 然后客户做了一些我不明白的事
  4. 在此之后,该会话的其余部分将被加密。

我说的对吗?有人能详细解释一下,客户端将主机密钥与自己的数据库进行比较,以验证它没有改变方法吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2022-01-15 10:30:19

有人能详细解释一下,客户端将主机密钥与自己的数据库进行比较,以验证它没有改变方法吗?

当您将ssh放入(以前未知的)计算机中时,您将得到以下查询(例如,ECDSA类型的密钥):

代码语言:javascript
复制
ssh user@newhost:

The authenticity of host 'newhost (<IP-address>)' can't be established.
ECDSA key fingerprint is SHA256:<fingerprint>.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

使用yes应答时:

代码语言:javascript
复制
Warning: Permanently added 'newhost,<fingerpint>' (ECDSA) to the list of known hosts.

主机指纹现在添加到文件~/.ssh/known_hosts(默认位置)中。

对于未来的连接,主机可以使用此指纹进行唯一标识,因此不会出现对话。但是,如果主机没有这样做,您将收到有关主机更改的警告。这是为了确保没有人可以捕获主机、重定向域等等,除非您作为ssh-client收到有关此方面的警告。

将其与手动接受一次的网站证书进行比较,如果更改,则网站标记为不安全。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/686430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档