如何创建两个相同算法的SSH密钥,创建时提示名称已存在怎么解决
同算法多SSH密钥生成解决方案
问题核心为SSH密钥生成工具默认会给同类型算法分配固定默认文件名,RSA算法默认文件名为id_rsa,重复执行相同算法生成命令时就会触发同名冲突,和算法本身无关联,修改生成的密钥文件名即可解决,具体操作方法如下:
方法1:生成过程中手动修改文件名
- 执行原生成命令:
ssh-keygen -t rsa -b 4096 - 当终端出现如下提示时,输入自定义的密钥存储路径和名称即可,比如输入
~/.ssh/id_rsa_work
Enter file in which to save the key (/home/你的用户名/.ssh/id_rsa):
- 后续按提示设置密码、确认密码即可完成生成,不会和原有默认RSA密钥冲突
方法2:生成命令中直接指定文件名
通过-f参数可以直接在命令中指定输出的密钥文件名,不需要中途手动输入,操作更高效:
- 示例生成第二个RSA密钥的命令:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_personal - 执行后直接生成私钥文件
id_rsa_personal和对应的公钥文件id_rsa_personal.pub
后续使用注意事项
非默认名称的SSH密钥在使用时,需要通过
-i参数显式指定密钥路径,示例连接命令:ssh -i ~/.ssh/id_rsa_personal root@192.168.1.100
如需免输密钥路径,可在~/.ssh/config配置文件中对应服务器的配置项里添加IdentityFile ~/.ssh/id_rsa_personal参数即可。
内容的提问来源于stack exchange,提问作者gqboy
相关产品推荐
相关产品推荐

