首先来本地电脑上配置这把钥匙,而且要生成两把钥匙,分别是私钥和公钥,将来会用到这把公钥。
提示:如果之前用过 GitHub 或者 GitLab 之类基于 Git 的仓库管理系统,那么本地应该是配置过这个公钥和私钥的,这里要切记,不用再重复在本地windows环境下生成密钥配! 可能你会覆盖掉你本地用的钥匙,这样的话,可能就连不上之前有权限的 Git 仓库了。如果本地配置了可以跳过本地配置这段
本地 环境下生成密钥
ssh-keygen -t rsa -C "email@email.com" #回车下一步
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/Administrator/.ssh/id_rsa): #可以不输入
Enter passphrase (empty for no passphrase):#输入密钥密语可以理解成密钥的密码,可以不输入
Enter same passphrase again:#再次输入密钥密码
Your identification has been saved in key.
Your public key has been saved in key.pub.
The key fingerprint is:
SHA256:Ke9MH5QsT19TJqQgimryAn27Vp+MuIFeIff/2VL6hQE 192.168.1.1
The key's randomart image is:
+---[RSA 4096]----+
| . . . |
| . . . . o |
| . . E . . o|
| . . o o + |
|o = + . S = . o |
|.+ = +.o = ..+ . |
|. o +o.+o.ooo . |
| o .oo.=+.o+ . |
| ..o. +.+oo |
+----[SHA256]-----+
这样本地下就存在 C:\Users\Administrator\
就多出个 .ssh
文件夹。这个文件夹下存在两个文件:
- id_rsa 密钥
- id_rsa.pub 公钥
接着开启ssh代理
eval "$(ssh-agent -s)"
最后,把ssh key
加入到ssh
代理中
ssh-add ~/.ssh/id_rsa
将windwos的公钥添加到远程服务器的.ssh/authorized_keys中
ssh-copy-id -i ~/.ssh/id_rsa.pub root_agent@111.111.111.111
ssh-copy-id命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上,在
/home/root_agent/.ssh/
中.
手动创建authorized_keys文件把id_rsa.pub内容复制进去,这样做有风险,有失败的可能,尽量使用上面的复制文件的命令来完成操作,git账号也是同样的操作
免密登陆
重新打开个git bash
,验证免密登陆
ssh root_agent@111.111.111.111