学习如何在 ssh 服务器上使用公钥
下列的这DigitalOcean 的教程
ssh 服务器:kali VM
ssh 客户端:Ubuntu VM
使用 Ubuntu VM,我生成了几个 ssh 密钥,但我只需要使用一个,因为其他的密钥有些重复,但密码不同
运行此命令ssh-copy-id [email protected]
返回
Number of key(s) added: 4
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
如何删除要添加的密钥并坚持运行时生成的唯一密钥ssh-keygen
我尝试通过运行此命令来删除密钥sudo rm -rf /home/kali/.ssh
但每次我尝试复制新生成的密钥时,我都会在 kali VM 上获得 4 个密钥
答案1
在我看来您正在将 4 个密钥复制到您的服务器。
这是从位于的在线文档中摘录的 https://www.ssh.com/academy/ssh/copy-id
-我指定要复制的身份文件(默认为~/.ssh/id_rsa)。如果未提供此选项,则会添加 ssh-add -L 列出的所有密钥。。注意:它可以是多个密钥,并且很容易意外添加额外的授权密钥!如果 ssh-add -L 没有返回任何密钥,则将使用与 ~/.ssh/id*.pub 匹配的最近修改的密钥,但与 ~/.ssh/*-cert.pub 匹配的密钥除外。
更新来自评论:
如果要删除某个键,只需使用:
$ rm .ssh/id_target_key*
备份选项之一可以是:
$ mv.ssh/id_target_key id_target_key.bak
请记住,始终有 2 个密钥。一个是私钥,一个是公钥。后者的扩展名为 .pub
这些密钥文件在哪里可以找到? 在服务器上打开/etc/ssh/sshd_config并寻找
授权密钥文件 .ssh/authorized_keys
可以编辑此文件以手动删除您的密钥,可能已安装其他用户的密钥。
在客户端上打开/etc/ssh/ssh_config并从那里寻找替代路径。(我的路径全部注释掉,所以 ~/.ssh 是默认位置)~/ 是相对路径,每个用户都会更改。执行 ssh 命令设置须藤将导致不同的路径:/根。