当使用 ssh 进行证书身份验证时,我发现的说明表明您应该创建一个密钥对作为id_rsa.pub
&& id_rsa
。然后将公钥发送到要添加到的远程系统authorized_keys
(authorized_keys2
在 OS/X 的情况下更常见)。显然,原始系统需要访问其私钥id_rsa
。
我最近通过重命名文件破坏了这个问题id_rsa
,并通过将文件恢复为原始名称来修复它;因此,据推测,ssh 使用该文件~/.ssh/id_rsa
。这是正确的吗?它是可配置的吗?我曾假设我会对不同的远程系统使用不同的私钥,以限制泄露私钥的影响;这根本不切实际,最好只重复使用一个私钥?
谢谢。
答案1
ssh~/.ssh/id_rsa
默认使用密钥,但您可以使用-i
命令行参数指定要使用的不同身份文件。
答案2
它是完全可配置的。首先生成一个新密钥。
ssh-keygen
当你读到这个部分时:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/[your Username]/.ssh/id_rsa):
输入您想要的密钥名称。完成其余提示后,您的密钥将以您的自定义名称生成。
请记住,您应该将密钥添加到“~/.ssh/config”文件中。如果您没有此文件,您可以创建它。使用文本编辑器打开该文件并复制以下行(将方括号中的部分替换为您的信息):
IdentityFile "/Users/[your Username]/.ssh/[your SSH Key Name]"
保存配置文件,您将能够使用自定义命名的 SSH 密钥进行 SSH,而无需计算机密码或 SSH 密钥的密码。