美文网首页
一个设备,配置多个ssh key ,为不同git服务提供授权

一个设备,配置多个ssh key ,为不同git服务提供授权

作者: 涅槃快乐是金 | 来源:发表于2023-12-20 21:34 被阅读0次

    用于使用OpenSSH密钥生成工具 (ssh-keygen) 生成一个新的SSH密钥对

    ssh-keygen -t rsa -b 2048 -C
    

    添加注释说明:指定邮箱地址

    ssh-keygen -t rsa -b 2048 -C "your_email@example.com"
    

    指定生成后的文件名称

    ssh-keygen -t rsa -b 2048 -C "your_email@example.com" -f ~/.ssh/filename
    
      1. -t rsa:指定要创建的密钥的类型。在这种情况下,它表示应生成RSA密钥对。RSA(Rivest–Shamir–Adleman)是一种广泛使用的公钥密码体制,可用于安全数据传输。
      1. -b 2048:指定密钥中的位数。在这种情况下,它将密钥长度设置为2048位。通常来说,较长的密钥长度通常提供更高的安全性,但可能需要更多的计算资源。
      1. -C 选项用于添加注释,而注释通常包含与密钥相关的标识信息
      1. -f 选项用于指定生成的密钥文件的名称和路径。

    在电脑上配置多个SSH,你可以使用SSH配置文件(通常是~/.ssh/config)来管理多个SSH主机。

    这个配置文件允许你定义不同主机的参数,以及为每个主机指定别名、身份验证密钥等信息。

    ~/.ssh/config模板

    # 第一个SSH主机
    Host test1
        HostName test1.github.com
        User user1
        IdentityFile ~/.ssh/test
    
    # 第二个SSH主机
    Host test2
        HostName test2.test.com
        Port 2000
        User test2@test.com
        IdentityFile ~/.ssh/test2
    

    Host: 指定你为主机定义的别名。
    HostName: 主机的实际地址或域名。
    Port: 主机端口
    User: 登录SSH的用户名。
    IdentityFile: 指定身份验证密钥的路径,注意,不带后缀.pub

    使用方式:

    git clone git@test1.github.com:xx/xx.git
    

    也可以如下使用:

    git clone git@别名:用户名/xxx.git
    # 例如
    git clone git@test1:user1/xxx.git
    

    最后,将各自的.pub文件内的公钥,配置到对应的仓库里的ssh key设置里。

    如果配置后仍然提示:

    Permission denied (publickey).
    致命错误:无法读取远程仓库
    就通过ssh-add -l 查看一下以上秘钥是否添加成功。

    ssh-add -l
    

    如下图显示,就是正常的


    如果没有,则手动添加:

    ssh-add ~/.ssh/test
    

    这里的test就是刚才生成的test和test.pub的文件名

    相关文章

      网友评论

          本文标题:一个设备,配置多个ssh key ,为不同git服务提供授权

          本文链接:https://www.haomeiwen.com/subject/kzlxndtx.html