用于使用OpenSSH密钥生成工具 (ssh-keygen) 生成一个新的SSH密钥对
ssh-keygen -t rsa -b 2048 -C
添加注释说明:指定邮箱地址
ssh-keygen -t rsa -b 2048 -C "your_email@example.com"
指定生成后的文件名称
ssh-keygen -t rsa -b 2048 -C "your_email@example.com" -f ~/.ssh/filename
- -t rsa:指定要创建的密钥的类型。在这种情况下,它表示应生成RSA密钥对。RSA(Rivest–Shamir–Adleman)是一种广泛使用的公钥密码体制,可用于安全数据传输。
- -b 2048:指定密钥中的位数。在这种情况下,它将密钥长度设置为2048位。通常来说,较长的密钥长度通常提供更高的安全性,但可能需要更多的计算资源。
- -C 选项用于添加注释,而注释通常包含与密钥相关的标识信息
- -f 选项用于指定生成的密钥文件的名称和路径。
在电脑上配置多个SSH,你可以使用SSH配置文件(通常是~/.ssh/config)来管理多个SSH主机。
这个配置文件允许你定义不同主机的参数,以及为每个主机指定别名、身份验证密钥等信息。
~/.ssh/config模板
# 第一个SSH主机
Host test1
HostName test1.github.com
User user1
IdentityFile ~/.ssh/test
# 第二个SSH主机
Host test2
HostName test2.test.com
Port 2000
User test2@test.com
IdentityFile ~/.ssh/test2
Host: 指定你为主机定义的别名。
HostName: 主机的实际地址或域名。
Port: 主机端口
User: 登录SSH的用户名。
IdentityFile: 指定身份验证密钥的路径,注意,不带后缀.pub
使用方式:
git clone git@test1.github.com:xx/xx.git
也可以如下使用:
git clone git@别名:用户名/xxx.git
# 例如
git clone git@test1:user1/xxx.git
最后,将各自的.pub文件内的公钥,配置到对应的仓库里的ssh key设置里。
如果配置后仍然提示:
Permission denied (publickey).
致命错误:无法读取远程仓库
就通过ssh-add -l 查看一下以上秘钥是否添加成功。
ssh-add -l
如下图显示,就是正常的
如果没有,则手动添加:
ssh-add ~/.ssh/test
这里的test就是刚才生成的test和test.pub的文件名
网友评论