可以参考 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)
# 示例如下# test# 配置完成,可以使用下面的命令测试# 测试时替换掉 example.com# ssh -T git@example.com# 测试 github# ssh -T git@github.com# 例如 码云# ssh -T git@gitee.com# 例如 coding# ssh -T git@git.coding.net# 测试 oschina# ssh -T git@git.oschina.net# bitbucket# ssh -T git@bitbucket.org# 测试gitlab(可替换gitlab.com为您的 GitLab 实例域)# ssh -T git@gitlab.com# 为便于独立控制,可针对每个平台独立密钥# Default github user(xxx1@qq.com)# HostName 这个是真实的域名地址Host github.comHostName github.comIdentityFile ~/.ssh/github.com_rsa# second user(xxx2@qq.com)# 建一个github别名,新建的帐号使用这个 Host 别名做克隆和更新Host github2HostName github.comIdentityFile ~/.ssh/yue_rsa# 公司的 gitlab (xxx 改为公司域,按照以下格式,已验证可用)# ssh -T git@gitlab.xxx.com 测试是否连通Host gitlab.xxx.comIdentityFile ~/.ssh/gitlab.xxx.com_rsa# HostName gitlab.xxx.com # 可选# PreferredAuthentications publickey # 可选# ssh -T git@gitee.comHost gitee.comIdentityFile ~/.ssh/gitee.com_rsa# 配置示例# Host myhost # 这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost,如 git@github.com [注意下面有缩进]# HostName # 主机名可用ip也可以是域名(如:github.com或者bitbucket.org)# User # 登录用户名(如:xiaohan)# IdentityFile # 证书文件路径(如~/.ssh/xiaohan_rsa)# # Port 22 # 服务器open-ssh端口(默认:22,默认时一般不写此行)# # IdentityFile # C:\\Users\\Alice\\.ssh\\id_rsa# # PreferredAuthentications 配置登录时用什么权限认证--可设为 publickey,password publickey,keyboard-interactive等
