添加RSA密钥而不覆盖

 亲眼耳闻目睹42 发布于 2023-01-07 19:01

我想为我想要SSH的家庭服务器生成一组密钥,所以我这样做ssh-keygen -t rsa,但后来我收到一条消息:id_rsa already exists. Overwrite (y/n)?

好吧,我不想覆盖,因为我现在使用的密钥用于SSH连接到我大学的服务器,每次我想切换时都必须再次完成所有垃圾操作.是否有一种简单的方法来附加密钥?

我尝试了一个教程(我找不到),提示使用cat命令,但我很丢失.似乎解决方案非常简单,我只是没有看到.

2 个回答
  • 您可以在两台服务器上使用相同的公钥.如果你不想这样做,只需指定一个不同的位置~/.ssh/id_rsa时,ssh-keygen在此之前提示您,并与代理使用它:

    % ssh-agent sh  # Replace with your favourite shell.
    $ ssh-add ~/.ssh/id_rsa_2
    $ ssh somewhere
    $ exit
    %
    

    ssh-agent也可以在不启动新shell的情况下使用eval $(ssh-agent).

    2023-01-07 19:03 回答
  • 您可以通过在目录下的主目录中使用配置文件来实现此目的.ssh:

      像往常一样生成密钥:

      ssh-keygen -t rsa
      

      不要覆盖默认值(通常id_rsa).而是创建一个新名称.这将使用您的密钥创建一个单独的文件.

      在〜/ .ssh中创建一个config包含以下内容的文件:

      Host * (asterisk for all hosts or add specific host)
        AddKeysToAgent yes
        UseKeychain yes
        IdentityFile <key> (e.g. ~/.ssh/yourKey)
      

      钥匙现已添加到钥匙串中,可以使用!

    -

    您可以在配置中使用多个IdentityFiles(Mac示例):

    Host *
      AddKeysToAgent yes
      UseKeychain yes
      IdentityFile ~/.ssh/id_rsa_private_server
      IdentityFile ~/.ssh/id_rsa_github
      IdentityFile ~/.ssh/id_rsa_work_server
    

    2023-01-07 19:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有