ssh 私钥和公钥问题

ssh 私钥和公钥问题

您好,我正在将所有密钥切换为 ed25519。我已运行以下命令:

ssh-keygen -t ed25519 -C "user on server"

现在它生成一个私钥和一个公钥。我将公钥复制到 HOST(服务器)上的 authorized_keys 中,然后执行这些权限(当然是在服务器上):

HostKey /etc/ssh/ssh_host_ed25519_key
PermitRootLogin no
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

我的登录似乎没问题,我可以不用密码登录,但它不允许我用密码登录。在我的客户端上,我有 id_ed25519 和 id_ed25519.pub。

我有一个主要疑问,为什么我可以编辑和更改 id_ed25519(私钥)并更改其中的一些字母而不会出现登录问题?直到我编辑了几个字母后才收到错误。

我的另一个问题是如何为不同的服务器生成新密钥?我想要为不同的服务器使用不同的密钥,因为有些计算机可以访问这些服务器,而有些则不能。作为一种安全措施,如果私钥/公钥被盗,我想知道那台机器是否被盗用,但不在该机器上的密钥是否被盗用。

谢谢。

答案1

我可以提供答案。

  1. “我有一个主要疑问,为什么我可以编辑和更改 id_ed25519(私钥)并更改其中的一些字母而不会出现登录问题?直到我编辑了几个字母后才收到错误消息。”

事实上,你可以更改密钥中的一些字符而不会出现错误。这就是公钥加密的工作原理。如果你只更改几个字符,密钥将允许登录。这是因为检查乘法的实现仍然足够接近正确的实现。它不必绝对匹配。

  1. “我的另一个问题是如何为不同的服务器生成新密钥?我想要为不同的服务器使用不同的密钥,因为有些计算机可以访问这些服务器,而有些则不能。作为一种安全措施,如果私钥/公钥被盗,我想知道那台机器是否被盗用,但不在该机器上的密钥是否被盗用。”

我相信你可以做到。可以为 sshd 配置不同服务器的单独密钥。我不太清楚你在这里问的是什么。你能具体说明一下吗?我的意思是,你还能用什么其他方法解决这个问题?

相关内容