首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >要知道主机的SSH连接仍然需要授权

要知道主机的SSH连接仍然需要授权
EN

Unix & Linux用户
提问于 2021-02-21 00:14:00
回答 1查看 165关注 0票数 0

我正在尝试使用duply和安全连接来设置备份服务器。

我已经创建了具有以下内容的~/.ssh/config文件:

代码语言:javascript
复制
Host backup
  IdentityFile ~/.ssh/id_ed25519_backup
  Hostname <server_ip>
  Port 22
  User <user_on_host>

此外,我还定义了known_hosts文件,在其中复制粘贴服务器公钥(在/etc/ssh/ssh_host_ed25519_key.pub中找到)

当使用ssh -v backup命令时,一切似乎都正常工作:

代码语言:javascript
复制
Authenticated to <server_ip> ([<server_ip>]:22)

但是,在启动duply备份例程时,我发现无法识别服务器:

代码语言:javascript
复制
The authenticity of host '[<server_ip>]:22' can't be established.
SSH-ED25519 key fingerprint is c3:06:95:f8:5f:d3:76:7f:c6:9d:19:ef:e5:23:9a:14.
Are you sure you want to continue connecting (yes/no)? 

为什么会发生这种情况?

更新

duply似乎正在计算公钥的MD5哈希,而ssh则是SHA256 one:事实上,正如所提到的这里ssh-keygen -l -E md5 -f /etc/ssh/ssh_host_ed25519_key.pub返回的十六进制数与前面所述的相同。由于它们是同一密钥的两个不同的散列,为什么仍然会询问连接确认?是否可以强制SSH只使用一个散列算法?

进一步更新:

ssh -o FingerprintHash=md5 -v backup不需要确认,所以我认为这个问题仅限于duply。也许,它不是指用户known_hosts文件吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-02-27 12:30:52

duply构建在Paramiko模块之上,并且更深入地检查它的实现,看起来Paramiko无法管理已知的散列主机。然后,我通过设置/etc/ssh/ssh_config修改了SSH配置文件HashKnownHosts no,并通过插入明确的目标in和/或域重写了~/.ssh/known_hosts的内容。

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

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

复制
相关文章

相似问题

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