可以参考 https://github.com/cloudyan/learn-git/blob/master/docs/git-config.md

    生成ssh key

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"(当前目录 ~/.ssh)
    然后可以命名默认id_rsa 或者id_rsa_second 把对应的pub放到公共服务器上。

    ssh-keygen(基于密匙的安全验证):需要依靠密钥进行安全验证,必须为自己创建一对密钥,并把公用密钥放在需要访问的服务器上。

    • -t 即指定密钥的类型。密钥的类型有两种,一种是RSA,一种是DSA。
    • -b 指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。命令中的4096指的是RSA密钥长度为4096位。DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。
    • -C 表示要提供一个新注释,用于识别这个密钥。””里面不一定非要填邮箱,可以是任何内容,邮箱仅仅是识别用的key。


    令不同 Host 实际映射到同一 HostName,但密钥文件不同。Host 前缀可自定义如xxx。

    配置文件 mac 为 /etc/ssh/ssh_config (推荐使用 ~/.ssh/config)

    1. # 示例如下
    2. # test
    3. # 配置完成,可以使用下面的命令测试
    4. # 测试时替换掉 example.com
    5. # ssh -T git@example.com
    6. # 测试 github
    7. # ssh -T git@github.com
    8. # 例如 码云
    9. # ssh -T git@gitee.com
    10. # 例如 coding
    11. # ssh -T git@git.coding.net
    12. # 测试 oschina
    13. # ssh -T git@git.oschina.net
    14. # bitbucket
    15. # ssh -T git@bitbucket.org
    16. # 测试gitlab(可替换gitlab.com为您的 GitLab 实例域)
    17. # ssh -T git@gitlab.com
    18. # 为便于独立控制,可针对每个平台独立密钥
    19. # Default github user(xxx1@qq.com)
    20. # HostName 这个是真实的域名地址
    21. Host github.com
    22. HostName github.com
    23. IdentityFile ~/.ssh/github.com_rsa
    24. # second user(xxx2@qq.com)
    25. # 建一个github别名,新建的帐号使用这个 Host 别名做克隆和更新
    26. Host github2
    27. HostName github.com
    28. IdentityFile ~/.ssh/yue_rsa
    29. # 公司的 gitlab (xxx 改为公司域,按照以下格式,已验证可用)
    30. # ssh -T git@gitlab.xxx.com 测试是否连通
    31. Host gitlab.xxx.com
    32. IdentityFile ~/.ssh/gitlab.xxx.com_rsa
    33. # HostName gitlab.xxx.com # 可选
    34. # PreferredAuthentications publickey # 可选
    35. # ssh -T git@gitee.com
    36. Host gitee.com
    37. IdentityFile ~/.ssh/gitee.com_rsa
    38. # 配置示例
    39. # Host myhost # 这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost,如 git@github.com [注意下面有缩进]
    40. # HostName # 主机名可用ip也可以是域名(如:github.com或者bitbucket.org)
    41. # User # 登录用户名(如:xiaohan)
    42. # IdentityFile # 证书文件路径(如~/.ssh/xiaohan_rsa)
    43. # # Port 22 # 服务器open-ssh端口(默认:22,默认时一般不写此行)
    44. # # IdentityFile # C:\\Users\\Alice\\.ssh\\id_rsa
    45. # # PreferredAuthentications 配置登录时用什么权限认证--可设为 publickey,password publickey,keyboard-interactive等