使用 ssh-keygen
命令可以生成 SSH 密钥对,用于身份验证。以下是对该命令的详细解释和操作步骤:
命令解析
ssh-keygen
:用于生成 SSH 密钥对的命令。-t rsa
:指定密钥类型为 RSA。-C "codeideaai@gmail.com"
:为密钥添加注释,通常使用邮箱地址作为标识。-f "codeideaaigmailgithub"
:指定生成的公钥和密钥文件的名称。
操作步骤
在终端中运行以下命令:
ssh-keygen -t rsa -C "codeideaai@gmail.com" -f "codeideaaigmailgithub"
系统会提示输入保存密钥的文件路径,默认情况下会保存在当前用户的主目录下的 .ssh
文件夹中。如果指定了 -f
参数,则会以指定的名称保存。
接下来,系统会提示输入一个密码短语(passphrase),用于加密私钥。如果不需要密码短语,可以直接按回车键跳过。
生成的文件
运行命令后,会在 ~/.ssh 生成两个文件:
codeideaaigmailgithub
:私钥文件,需要妥善保管,不要泄露。codeideaaigmailgithub.pub
:公钥文件,可以公开分享,用于添加到 GitHub 或其他需要 SSH 认证的服务中。
添加公钥到 GitHub
- 复制公钥内容:
cat ~/.ssh/codeideaaigmailgithub.pub
- 登录 GitHub,进入
Settings
->SSH and GPG keys
->New SSH key
。 - 将复制的公钥内容粘贴到
Key
字段中,点击Add SSH key
完成添加。
测试 SSH 连接
使用以下命令测试 SSH 连接是否成功:
ssh -T git@github.com
如果配置正确,会收到一条欢迎消息,表示 SSH 连接成功。
如果显示"Permission denied(publickey)" 错误,需要确认ssh密钥是否已加载到SSH代理
ssh-add -l
ssh-add ~/.ssh/codeideaaigmailgithub