Mac下生成SSH key

  1. 检查是否已经存在SSH keys

    ls -al ~/.ssh

    如果已经存在,则结果会列出目录文件列表,则进入第3步;

    . .. id_rsa id_rsa.pub

    如果不存在,则进入第2步

    # ls: /Users/hony/.ssh: No such file or directory

  2. 生成SSH Keys

    在终端中输入以下命令,填写自己的邮箱

    $ ssh-keygen -t rsa -b 4096 -C "*[email protected]*"
    # Generating public/private rsa key pair.
    

    在接下来的步骤中,按回车键:

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

    如果不想设置密码,则继续回车:

    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    

    当看到下面的图形时,就可以了

    The key's randomart image is:
    +---[RSA 4096]----+
    |        . . . Eoo|
    |         o = *.++|
    |          + B +*o|
    |       + o B += o|
    |      o S O o. +.|
    |       . = .  .o*|
    |          .    =O|
    |               oO|
    |               .B|
    +----[SHA256]-----+
    
  3. 添加SSH Key到ssh-agent

    1. 确保 ssh-agent 是可用的

      $ eval "$(ssh-agent -s)"
      # Agent pid 2806
      
    2. 添加SSH Key 到 ssh-agent

      # id_rsa是SSH key对应的文件的名字,如果要使用一个已经存在的key添加到ssh-agent的话,替换id_rsa名字即可
      $ ssh-add ~/.ssh/id_rsa
      # Identity added: ...
      
  4. 把 SSH Key添加到远程仓库的账号上

    1. 复制 SSH Key到粘贴板

      $ pbcopy < ~/.ssh/id_rsa.pub
      
    2. 登录 github或者bitbucket等远程仓库添加SSH Key即可。

不同的 SSH 密钥类型和大小

​ ssh-keygen 命令允许使用不同算法的秘钥类型和大小。此处列出常见的SSH秘钥类型并解释每种类型的特征:

  • RSA:一种得到广泛支持的算法,RSA是许多情况下的最佳选择。需要创建一个2048或4096位的秘钥,前者足够,后者是理想的。
  • ECDSA: 一种比较新的算法,ECDSA提供与RSA类似的安全级别,但秘钥更短,从而提高了性能。支持的秘钥大小为256、384和521位。
  • Ed25519: 一种新兴的算法,Ed25519改进了以前秘钥类型的安全性和性能。Apple本身在某些情况下使用这种身份验证方法,包括在某些设备之间的通信期间。秘钥只有256位,同时仍提供高级别的安全性。

ssh-keygen 常用的命令

  • -t : 使用此命令输入您希望使用的算法。RSA、ECDSA和Ed25519 是常见且可行的选择。
  • -b:通过输入使用的位数来指定秘钥的长度。在输入 -b 命令之前,请检查所选算法的要求,因为不同的算法支持的位数不同。
  • -p: 可以使用-p 命令更改秘钥的密码。只需要在ssh-keygen 中包含 -p, 终端就会请求文件位置,输入相关秘钥的路径并在出现提示时创建新密码。
  • -f: 使用-f 命令将 ssh-keygen 定向到特定文件位置。
  • -C: 命令为秘钥添加注释,这是一种有用的标记方法。

猜你喜欢

转载自blog.csdn.net/zhw21w/article/details/124183646