iOS 如何SSH key给github

本文详细介绍了如何在终端环境中检查并生成SSH密钥,包括使用已有的密钥、创建新密钥的过程、将密钥加入SSH-agent、复制公钥至GitHub以及测试密钥是否成功的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步 :

首先要检查key是不是已经存在,

打开一个终端,并输入以下命令:

$ ls -al ~/.ssh

如果结果列表中包含以下文件, 则不需要在生成新的KEY, 可以直接使用。

id_dsa.pub

id_ecdsa.pub

id_ed25519.pub

id_rsa.pub

第二步:
如果不存在, 则需要创建新的Key来使用。

输入下面的命令来生成key, 注意替换你自己的邮箱地址。

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

# Creates a new ssh key using the provided email

Generating public/private rsa key pair.

Enter file in which to save the key (/your_home_path/.ssh/id_rsa):

这里在提示你保存key的位置, 默认直接回车就可以。

第三步:

Enter passphrase (empty for no passphrase):

当你看到这个的时候, 输入你的密码。

Enter same passphrase again:

再次输入, 以确认密码。

第四步:

当以上步骤成功完成后, 你将看到类似与这样的结果:

Your identification has been saved in /your_home_path/.ssh/id_rsa.

Your public key has been saved in /your_home_path/.ssh/id_rsa.pub.

The key fingerprint is:

01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

第五步:

执行以下命令将KEY加入到ssh-agent:

$ eval "$(ssh-agent -s)"

# Agent pid 59566

$ ssh-add ~/.ssh/id_rsa

第六步:
打开 ~/.ssh/id_rsa.pub文件, 复制其中所有的内容。然后把它粘贴到github的ssh key添加的表单中。

第七步:

执行以下命令来测试key。

$ ssh -T git@github.com

如果你看到:

The authenticity of host 'github.com (207.97.227.239)' can't be established.

RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.

Are you sure you want to continue connecting (yes/no)?

输入“yes”并回车。

当你看到以下内容时, 你就添加成功了。

Hi username! You've successfully authenticated, but GitHub does not

provide shell access.

### SSH 密钥格式及其生成与使用 #### 一、SSH 密钥的常见格式 SSH 密钥主要分为公钥和私钥两部分,其常见的格式如下: 1. **私钥格式** - PEM 格式:这是最常用的私钥格式之一,通常用于 OpenSSL 和其他工具中。文件扩展名一般为 `.pem` 或 `.key`[^2]。 - OpenSSH 格式:由 OpenSSH 工具生成,默认存储在 `~/.ssh/id_rsa` 文件中[^3]。 - PPK 格式:主要用于 PuTTY 工具,在 Windows 平台上较为常用。文件扩展名为 `.ppk`。 2. **公钥格式** - OpenSSH 格式:默认生成的公钥文件通常是这种格式,例如 `id_rsa.pub`。 - SSH2 格式:较少见,但在某些旧版系统或特定环境中可能会遇到。 --- #### 二、SSH 密钥的生成方法 以下是通过 OpenSSH 工具生成密钥对的具体方式: 1. 执行命令以生成 RSA 类型的密钥对(推荐使用 4096 位长度): ```bash ssh-keygen -t rsa -b 4096 ``` 默认情况下,该命令会将私钥保存为 `~/.ssh/id_rsa`,并将对应的公钥保存为 `~/.ssh/id_rsa.pub`。 2. 可以为私钥设置密码保护,增强安全性。当提示输入密码时,按需填写即可。 3. 如果需要生成不同类型的密钥(如 Ed25519),可以执行以下命令: ```bash ssh-keygen -t ed25519 ``` --- #### 三、SSH 密钥的转换 如果需要在不同的格式之间进行转换,可借助工具完成: 1. 将 PEM 格式的私钥转换为 PPK 格式(适用于 PuTTY 用户): ```bash puttygen id_rsa -o id_rsa.ppk ``` 2. 将 PPK 格式的私钥转换回 PEM 格式: ```bash puttygen id_rsa.ppk -O private-openssh -o id_rsa.pem ``` 3. 对于 iOS 开发者或其他场景下的需求,可能涉及 PKCS#8 格式的私钥文件(如 `rsa_pkcs8_private_key.pem`)。可以通过以下命令生成: ```bash openssl genpkey -algorithm RSA -out rsa_pkcs8_private_key.pem -aes256 -pkeyopt rsa_keygen_bits:2048 ``` --- #### 四、SSH 密钥的实际应用 1. 配置服务器免密登录:将本地生成的公钥复制到远程服务器的 `~/.ssh/authorized_keys` 文件中。可通过以下命令实现: ```bash ssh-copy-id user@remote_host ``` 2. 在 Git 中配置 SSH 密钥以便无密码提交代码: - 添加公钥至 GitHub/GitLab 的账户设置页面。 - 测试连接是否成功: ```bash ssh -T git@github.com ``` --- ### 总结 SSH 密钥的核心在于安全性和便捷性,支持多种格式以适应不同平台的需求。无论是 Linux/Mac 还是 Windows 环境,均可利用标准工具轻松生成和管理这些密钥。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值