前言

本文介绍了linux和window环境rsa密钥生成方法, ssh免密登录linux以及gitee和github的密钥使用场景.



正文

ssh-keygen常用参数

参数名示例值参数说明
-C“ssh_test”注释内容: 可写邮箱加用途
-trsa密钥类型: rsa1(SSH-1), rsa(SSH-2), dsa(SSH-2)
-b2048密钥长度: RSA密钥默认是2048位, DSA密钥必须是1024位
-mPEM密钥格式: PEM
-f/test/id_rsa_ssh_test密钥路径文件名, 未填写路径则为当前路径生成文件

生成密钥

linux环境生成密钥

ssh-keygen -t rsa -b 2048 -C "ssh_test"
  • 提示以哪个路径文件名保存, 默认是 /root/.ssh/id_rsa文件, 我们输入自定义文件名id_rsa_ssh_test
  • 提示输入密码(可以填写之后使用时会用到或者不填写直接回车)和确认密码后会在当前文件夹生成密钥文件
  • 公钥的扩展名.pub,另一个没有扩展名的为私钥

在这里插入图片描述

win环境生成密钥

  • win10默认安装了OpenSSH客户端可以直接在cmd命令窗口使用, 生成步骤与linux环境类似, 建议生成过程中自定义文件名避免覆盖以前的密钥, 使用密钥时可以采用配置多密钥的方式 (见下文gitee使用场景)
  • 如果有安装git工具也可以使用,在任意文件夹内空白处右键点击 Git Bash Here, 注意生成时要加参数 -m PEM
    在这里插入图片描述

密钥使用场景

ssh免密登录linux

  • 配置公钥
cd ~/.ssh
vim authorized_keys

i键进入编辑模式, 将公钥文件里的内容新起一行黏贴

在这里插入图片描述
Esc退出编辑模式, :冒号键进入底行模式, 输入wq回车保存退出

  • xshell配置私钥
    连接 / 用户身份验证, 导入私钥 若生成密钥时设置了密码则要输入密钥密码
    在这里插入图片描述在这里插入图片描述
  • finalshell配置私钥
    SSH连接 / 认证, 导入私钥 若生成密钥时设置了密码则要输入密钥密码
    在这里插入图片描述
    若是git生成的没有配置参数-m PEM, 则密钥是OPENSSL, 会提示不支持此密钥格式, 按照所示方法解决即可
    在这里插入图片描述

gitee和github ssh免密

  • gitee添加公钥, 设置 / SSH公钥
    在这里插入图片描述
  • github添加公钥, 设置 / SSH and GPG keys
    在这里插入图片描述
  • window系统配置私钥
    打开文件 %userprofile%/.ssh, 新建config文件, IdentityFile根据实际情况配置私钥文件
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile 私钥路径/id_ssh_test

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile  私钥路径/id_ssh_test_github

首次使用可以在cmd命令行输入 ssh -T git@gitee.com 以及 ssh -T git@github.com 确认并添加gitee和github到本机SSH可信列表


Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐