当前位置:   article > 正文

云效配置 SSH 密钥_云效配置ssh密钥

云效配置ssh密钥

效代码管理 Codeup 的代码仓库支持 HTTP(S) 和 SSH 两种访问协议,SSH 协议可以实现安全的免密认证,且性能比 HTTP(S) 协议更好。在使用 SSH 协议操作代码仓库前,首先需要生成并上传你的 SSH 公钥,完成 SSH 公钥和用户账号的对应。

注意 

windows 用户使用 Git 命令行,请务必使用 WSL(需要windows10或以上),或使用 Git Bash

准备工作

通过 SSH 协议在 Git 命令行访问 Codeup,需要具备以下几点:

  • 本机已安装Git(安装教程参见安装Git)并保证版本大于1.9(通过git --version可获取本地的版本);

  • 本机需要安装OpenSSH客户端(GNU/Linux, macOS, 或 Windows 10 已内置OpenSSH);

  • SSH 尽量保持最新,6.5之前的版本由于使用 MD5 签名,可能存在安全问题;

支持的算法类型

查看已存在的SSH密钥

在生成新的 SSH 密钥前,请先确认是否需要使用本地已生成的SSH密钥,SSH 密钥对一般存放在本地用户的根目录下。

在你的计算机命令行中执行以下语句,判断是否已经存在本地公钥。如果返回一长串以 ssh-ed25519 或 ssh-rsa 开头的字符串, 说明已存在本地公钥,你可以跳过「生成 SSH 密钥」步骤。

Linux、Mac 可以直接使用以下命令查看已生成的公钥,Windows 用户在 WSL(需要 windows10 或以上)或 Git Bash下使用以下命令查看已生成公钥:

ED25519 算法

cat ~/.ssh/id_rsa.pub

生成 SSH 密钥

如果本地没有已存在的SSH密钥,或需要生成新的 SSH 密钥,请按如下步骤操作:

  1. 打开终端( windows 请使用 WSL或 Git Bash);

  2. 运行ssh-keygen -t,然后输入密钥算法类型和可选的注释。这个注释会出现在.pub文件中(与认证无关),一般可使用邮箱作为注释内容。

ED25519算法为例,生成 ED25519 密钥对的命令如下:

  1. ssh-keygen -t ed25519 -C "<注释内容>"
  2. ps:<注释内容>可改为你的邮箱地址

RSA算法为例,生成 RSA 密钥对的命令如下:

  1. ssh-keygen -t rsa -C "<注释内容>"
  2. ps:<注释内容>可改为你的邮箱地址

回车选择生成路径,以 ED25519 为例:

  1. Generating public/private ed25519 key pair.
  2. Enter file in which to save the key (/home/user/.ssh/id_ed25519):

密钥默认生成路径:/home/user/.ssh/id_ed25519,公钥与之对应为:`/home/user/.ssh/id_ed25519.pub`。

  1. 指定一个口令

    1. Enter passphrase (empty for no passphrase):
    2. Enter same passphrase again:

    口令默认为空,你可以选择使用口令保护私钥文件。

    如果你不想在每次使用 SSH 协议访问仓库时,都要输入用于保护私钥文件的口令,可以在创建公钥、私钥文件时,输入空口令。

    点击回车,恭喜 SSH 密钥在本地已经生成了。可以在本地查看 SSH 密钥对内容,并将本地已生成的 SSH 公钥拷贝添加至 Codeup 平台。

拷贝公钥

除了在命令行打印出已生成的公钥信息手动复制外,也可以使用命令拷贝公钥到粘贴板下,请参考操作系统使用以下命令进行拷贝:

Windows(WSLGit Bash):

cat ~/.ssh/id_ed25519.pub | clip

 Mac:

tr -d '\n' < ~/.ssh/id_ed25519.pub | pbcopy

GNU/Linux (requires xclip):

xclip -sel clip < ~/.ssh/id_ed25519.pub

在 Codeup 上设置 SSH 公钥

点击右上角头像-个人设置-「SSH 公钥」展现 SSH 公钥设置弹窗。

将上述本机已存在的 SSH 公钥粘贴到输入框中,同时为当前公钥命名,便于区分管理。

 

除此之外,支持设置公钥作用范围,可选择「全部」或「只读」,若设置为只读,该公钥只能用于拉取代码,不允许推送。

如有公钥过期时间限制的需求,可设置该公钥的过期时间,到期后公钥自动失效,不可使用。

设置完成后,点击「添加」保存设置,即可使用该 SSH 密钥对执行代码库操作。

自定义SSH认证密钥的路径

存在一些情况,需要自定义 SSH 认证密钥的路径:

  1. 本地需要多个密钥对应多个账号

  2. 本地需要多个密钥对应不同的代码平台(GitLab,GitHub等)

打开终端,编辑~/.ssh/config,如果你使用的是Windows平台,请确认你后续的操作是使用WSL(需要windows10或以上)或使用 Git Bash

 

  1. # Codeup
  2. Host codeup.aliyun.com
  3. PreferredAuthentications publickey
  4. IdentityFile ~/.ssh/id_ed25519
  5. # Codeup 用户2
  6. Name codeup-user-2
  7. Host codeup.aliyun.com
  8. PreferredAuthentications publickey
  9. IdentityFile ~/.ssh/codeup_user_2_ed25519
  10. # GitLab
  11. Host gitlab.com
  12. PreferredAuthentications publickey
  13. IdentityFile ~/.ssh/gitlab_ed25519

如果按照上述配置,当使用SSH协议访问时,SSH客户端会按照如下方式进行认证,可实现访问不同平台或同一平台的不同账号使用本地不同的 SSH key 进行认证:

  1. # 访问 Codeup,将使用 ~/.ssh/id_ed25519.pub 密钥
  2. git clone git@codeup.aliyun.com:example/repo.com
  3. # 以 codeup-user-2 别名访问 Codeup 时,将使用 ~/.ssh/codeup_user_2_ed25519 密钥
  4. git clone git@codeup-user-2:example/repo.com
  5. # 访问 GitLab,将使用 ~/.ssh/gitlab_ed25519 密钥
  6. git clone git@gitlab.com:example/repo.com

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/408963
推荐阅读
相关标签
  

闽ICP备14008679号