macOS系统配置git ssh(20190116)
2018-01-12 本文已影响468人
watayouxiang
macOS系统配置git ssh(20190116)
1. 生成 “ssh key公钥和私钥”
// 生成 "ssh key 公钥和私钥"
$ ssh-keygen -t rsa -C "test@qq.com"
// 正在生成了 "ssh key 公钥和私钥"
Generating public/private rsa key pair.
// 键入保存路径以及文件名(默认保存到 “/c/Users/admin/.ssh",文件名是 "id_rsa 和 id_rsa.pub")
Enter file in which to save the key (/c/Users/admin/.ssh/id_rsa):
// 输入密码(不输入则表示不需要密码)
Enter passphrase (empty for no passphrase):
// 再次确认密码(不输入则表示不需要密码)
Enter same passphrase again:
// 看到如下提示说明生成 ssh key 成功
Your identification has been saved in /c/Users/admin/.ssh/id_rsa.
Your public key has been saved in /c/Users/admin/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:dEkBwI1SczroUiOjISGntaYYa7hTzuVOyTuf3kSgWYE watayouxiang@qq.com
The key's randomart image is:
+---[RSA 2048]----+
|o o +=+o.o. |
|.= .E.o=.. . |
|= = +.= . o |
|+B = = + . |
|*.o = S |
|.= = . . |
|o o = . |
| . o.. + |
| o++ . |
+----[SHA256]-----+
// 进入 "ssh key 公钥和私钥" 所在的文件夹
$ cd /c/Users/admin/.ssh
// 查看当前目录所有的文件
$ ls
id_rsa id_rsa.pub known_hosts
// 查看公钥 "id_rsa.pub"
$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKjxHAKWTOnpAFUGn0MkWf83h8xvZE1xIukuQFuYl7tblgnblyiHjL5vXxqiS7gq0Uhr3xSpCmHtrpVw9ToYoP+28kPNQkJyeySwJc1ypMG+xSBiNIkKVz/2GcOBrwilFlKlXaDdiA4vgf8d+MVI+NByFAbdr3V2n26/bN6mVjPYdvBTzwBwmqOkJ8acHf5Q9dISjgMbuFnoKxQ1jDWTODx1UXviCFLSRBxQC0K7BFGqaXKV2iN4iLEE5Eaj6AeTK5wv7vR7Fe9WgtjljBTXlkZMBP0/kYAnAjOaHESameFcFpivHHZpGtZCrqrdH+1s2uFf6qOF00g9K4WvG75zbL test@qq.com
//查看私钥 "id_rsa"
$ cat id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEowIAAAKCAQAA1cXLJCA98E7CBomDAj5fLu8bOpTunNBRuYNnhBQTuyHZFxnC
otrKol/RzQrOWnxXvVAQSa67ccrblygNR5OsW018exD+8TRbY6YISXCHGwXjIBrm
PJmzsinrWKFHY8EAFsT+zFYsy/sW2Krs6P57eae6pirSIAVActdDeWStzECY5QcF
lCwVJ0SiNhdFGvp7oAmAUhHhNF783q6+BWogth4HWfB7GZeEMDu8FJmdL5lyEWYS
0Y7Om+EQ/O84fxsrDTLbAYCARQKaZ3mx4KlRrgaflQXHm+h1PenPa5HtK3sa6mA8
P9oRPPpxtlvXpGwBfS10gAyAAdtkoJP4fuAAdQIDAQABAoIBADptLPBdr7oWTIFs
5Bmg4nL5dv+z5OOHLE7/0zMOKbZjsenWAAQKKIfomHbqFSw1/+UG5tS8pQ6c2xed
IsQFAA4z12nrY0KZhMDfiDRKRSLloQYNVBAMEkkHnANFUTW6dhdTEAAY/LVjkwL0
9HtZ0nWVmjYATh3iUZMRsqdjFP1Vyno6wfY6ndwIys0sfAL8wtLFGQx6f/MO8ilh
dcqaaWRsrYX7OVJTgpnbAn3o/CsvrMvrRq/VjGvX4ag50g+sXuFmCu3sK9UP9kwy
mccXJcekwy69XqHrVVfdWHMNGGKeB27eb+xfq/CjqePRagDKe6i3vS4kgViZMcOO
SbFzaQECgYEA81md8ddrMVpxp/8SucyfcTpB4rXRFYYSmG8ZJRd+9ns4K5vzuo6+
oMKWRIG703KAAAxZ0aVNSxtXcezjZTximlt31fH3QQsBAJ7aa8wlWz/k00+4EicZ
y2okgVkzTmpxOaQ3rAAsuORGs/FFs7xsuzbwvnKVF0diKyDprrEQ/O0CgYEA4OKT
F9bfBC06so4JyWYDJZ3OXZTFP6c5rkrx4QSN7GP47L2E7+mte/2+rGJWf3lfj+rk
bZr82c50KWibg4vrPLBJw9+9BDYQh+M/8iH+dkamRhqIoTqU7xHRMQZI9hyH2Ysi
SWzgDIlqTQqOVt5xbu64kWAq2dCbJhueqk7AeKkAgYAcnRr/As8p3HKkyE9RXYgZ
7jm1CJ/vIfapydZxEBQzs0Vli07bTtGHYZn9sCt/r2fl7lRZXFB8Vliv4qTSUIlf
kQXEOFFUapDRm9we9MAnvJmAAAxDliloS7DDLNPlkoqBtpd9YZDHpL/ThLknay51
zP39xsdVF2WpoJMZoWRX+QKBAAA8mGOIqTEAa0mSc3n+N77MrsWlCJ8FLAQv14aI
EM6NqG7ytbE6WBYrIEc8d8NcIawaVmCbxhALJMJPDfE96Tng73YsrX4MptbgspCT
cO2nurx1lWJucxDPEia1v6xbaBVY0X8uqlzN9t6avVBpvytpZyHBWQXWzPazit8Z
dmTpAoGBALWTMemiLnEwCNZpRFLO1Erpuy1x5JB70djztP+kU2vQbH3hrjOnqaqa
cuKtZ8yjBh+4Z0E6+SuAAAAJQXV053YtX6gv0omebn12ZSsGLfVzMgzDStLc93IA
F0oAAyAAwK2Klj9ZtYAAAjaU6khfR6wzWRJLKNqlM8znAA//d4p5
-----END RSA PRIVATE KEY-----
2. “ssh key私钥” 添加到 ssh-agent
// 启用 ssh-agent
// 如果看到 Agent pid xxxxx 那就说明已经启用
$ ssh-agent -s
// 然后把私钥添加到ssh-agent就可以了
$ ssh-add ~/.ssh/id_rsa
3. “ssh key公钥” 添加到git远程仓库
公钥是 "id_rsa.pub",公钥内容以 `ssh-rsa` 开头。
4. 让 macOS版SourceTree 自动添加 “ssh key私钥”
macOS版SourceTree重启后,拉取和推送的时候会报 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
错误,原因是SourceTree 没有添加 “ssh key私钥”。解决办法是重新把 “ssh key私钥” 添加到 ssh-agent 即可。
如果要 SourceTree 自动添加私钥的话,需要执行以下步骤:
- 打开config配置文件
//进入到.ssh目录
$ cd ~/.ssh
//打开config配置文件
$ open config
- 查看config配置文件内容
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
- 修改config配置文件
添加一行 IdentityFile ~/.ssh/github_rsa
就能自动加载 github_rsa 私钥了