这里涉及到Mac的钥匙串(Keychain)服务
钥匙串是Mac OS中的密码管理系统,一个钥匙串可以包含多种类型的数据:密码(包括网站,FTP服务器,SSH帐户,网络共享,无线网络,群组软件,加密磁盘镜像等),私钥,电子证书和加密笔记等。
钥匙串访问(Keychain Access)是一个Mac OS 应用程序,它允许用户访问和配置钥匙串的内容(包括网站,FTP服务器,SSH帐户,网络共享,无线网络,群组软件,加密磁盘映像等内容的密码等),加锁或解锁钥匙串,显示系统存储的密码,管理根证书,密钥和加密笔记。
配置 ssh config
配置 ssh config,关键在于 UseKeychain
参考 # Git 配置多个 SSH keys
将私匙添加到钥匙串中
ssh-add ~/.ssh/id_dsa
ssh-add 命令是把专用密钥添加到ssh-agent的高速缓存中,而 ssh-agent 是一个用于存储私钥的临时性的 session 服务,这个方式可以临时解决每次都要输入密码的问题,但是每次重启电脑后,ssh-agent 服务也就重置了,就需要重新添加。
ssh-add -K ~/.ssh/id_dsa
ssh-add -K可以将私匙添加到钥匙串中,当 git 请求 SSH keys 的时候,会通过钥匙串(Keychain)服务来请求,信任 git 后,git 就可以通过钥匙串拿到私匙了,就不必每次都输入密码了。