将 SSH 密钥添加到 ssh-agent
您可以在本地计算机上生成新的 SSH 密钥。 生成密钥后,可以将密钥添加到您在 GitHub.com 上的帐户,以便为通过 SSH 的 Git 操作启用身份验证。
注意: GitHub 在 2022 年 3 月 15 日通过删除较旧的不安全密钥类型提高了安全性。
从该日期起,不再支持 DSA 密钥 (ssh-dss
)。 您无法将新 DSA 密钥添加到您在 GitHub.com 上的个人帐户。
在 2021 年 11 月 2 日之前 valid_after
的 RSA 密钥 (ssh-rsa
) 可以继续使用任何签名算法。 在该日期之后生成的 RSA 密钥必须使用 SHA-2 签名算法。 某些较旧的客户端可能需要升级才能使用 SHA-2 签名。
- 打开 Terminal(终端)。
- 粘贴下面的文本(替换为您的 GitHub 电子邮件地址)。
$ ssh-keygen -t ed25519 -C "your_email@example.com"
注:如果您使用的是不支持 Ed25519 算法的旧系统,请使用以下命令:
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
这将以提供的电子邮件地址为标签创建新 SSH 密钥。
> Generating public/private algorithm key pair.
- 提示您“Enter a file in which to save the key(输入要保存密钥的文件)”时,按 Enter 键。 这将接受默认文件位置。
> Enter a file in which to save the key (/Users/you/.ssh/id_algorithm): [Press enter]
- 在提示时输入安全密码。 更多信息请参阅“使用 SSH 密钥密码”。
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]
将 SSH 密钥添加到 ssh-agent
在向 ssh 代理添加新的 SSH 密钥以管理您的密钥之前,您应该检查现有 SSH 密钥并生成新的 SSH 密钥。 将 SSH 密钥添加到该代理时,应使用默认的 macOS ssh-add
命令,而不是使用通过 macports, homebrew 或某些其他外部来源安装的应用程序。
- 在后台启动 ssh 代理。
$ eval "$(ssh-agent -s)"
> Agent pid 59566
根据您的环境,您可能需要使用不同的命令。 例如,您可能需要在启动 ssh 代理之前运行 sudo-s-H
来使用根访问,或者您可能需要使用 exec ssh-agent bash
或 exec ssh-agent zsh
来运行 ssh-agent。
- 如果您使用的是 macOS Sierra 10.12.2 或更高版本,则需要修改
~/.ssh/config
文件以自动将密钥加载到 ssh-agent 中并在密钥链中存储密码。
- 首先,检查您的
~/.ssh/config
文件是否在默认位置。
$ open ~/.ssh/config
> The file /Users/you/.ssh/config does not exist.
- 如果文件不存在,请创建该文件。
$ touch ~/.ssh/config
- 打开您的
~/.ssh/config
文件,然后修改文件以包含以下行。 如果您的 SSH 密钥文件与示例代码具有不同的名称或路径,请修改文件名或路径以匹配您当前的设置。
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
注意:
如果您选择不向密钥添加密码,应该省略
UseKeychain
行。如果您看到
Bad configuration option: usekeychain
错误,请在配置的Host *
部分另外添加一行。Host *
IgnoreUnknown UseKeychain
- 将 SSH 私钥添加到 ssh-agent 并将密码存储在密钥链中。 如果您创建了不同名称的密钥,或者您要添加不同名称的现有密钥,请将命令中的id_ed25519 替换为您的私钥文件的名称。
$ ssh-add -K ~/.ssh/id_ed25519
注:-K
选项位于 Apple 的 ssh-add
标准版本中,当您将 SSH 密钥添加到 ssh-agent 时,它会将密码存储在您的密钥链中。 如果选择不向密钥添加密码,请运行命令,而不使用 -K
选项。
如果您没有安装 Apple 的标准版本,可能会收到错误消息。 有关解决此错误的详细信息,请参阅“错误:ssh-add:非法选项 -- K”。
在 MacOS Monterey (12.0) 中, -K
和 -A
标志已弃用,分别由 --apple-use-keychain
和 --apple-load-keychain
标志所取代。
- 将 SSH 密钥添加到 GitHub 上的帐户。 更多信息请参阅“将新的 SSH 密钥添加到 GitHub 帐户”。
Adding a new SSH key to your account
在向您在 GitHub.com 上的帐户添加新 SSH 密钥后,您可以重新配置任何本地存储库以使用 SSH。 更多信息请参阅“将远程 URL 从 HTTPS 转换为 SSH”。
注意: GitHub 在 2022 年 3 月 15 日通过删除较旧的不安全密钥类型提高了安全性。
从该日期起,不再支持 DSA 密钥 (ssh-dss
)。 您无法将新 DSA 密钥添加到您在 GitHub.com 上的个人帐户。
在 2021 年 11 月 2 日之前 valid_after
的 RSA 密钥 (ssh-rsa
) 可以继续使用任何签名算法。 在该日期之后生成的 RSA 密钥必须使用 SHA-2 签名算法。 某些较旧的客户端可能需要升级才能使用 SHA-2 签名。
- 将 SSH 公钥复制到剪贴板。
如果您的 SSH 公钥文件与示例代码不同,请修改文件名以匹配您当前的设置。 在复制密钥时,请勿添加任何新行或空格。
$ pbcopy < ~/.ssh/id_ed25519.pub
# Copies the contents of the id_ed25519.pub file to your clipboard
提示:如果 pbcopy
不可用,可找到隐藏的 .ssh
文件夹,在常用的文本编辑器中打开该文件,并将其复制到剪贴板。
- 在任何页面的右上角,单击您的个人资料照片,然后单击Settings(设置)。
- 在边栏的“Access(访问)”部分中,单击 SSH 和 GPG 密钥。
- 单击New SSH key(新 SSH 密钥)或 Add SSH key(添加 SSH 密钥)。
- 在 "Title"(标题)字段中,为新密钥添加描述性标签。 例如,如果您使用的是个人 Mac,此密钥名称可能是 "Personal MacBook Air"。
- 将密钥粘贴到 "Key"(密钥)字段。
- 单击Add SSH key(添加 SSH 密钥)。
- If prompted, confirm access to your account on GitHub. For more information, see "Sudo mode."
- 本地创建目录,进入目录
- make test
- cd test
- git clonegit@gitee.com:macgroup/test1.git
- 进入克隆后的项目目录 cd 项目名
- 复制要上传的项目文件(项目先clean),到当前目录
- 删除当前文件中的【.DS_Store】文件(mac 文件不需要上传)
- find . -name .DS_Store | xargs rm -rf
- git添加变更的内容进入当前分支
- git add .
- git commit -m ‘init’
- git push -u origin ‘master’