@qidiandasheng
2020-11-20T10:01:18.000000Z
字数 993
阅读 2256
使用工具
每次git操作SSH都会出现Enter passphrase for key '/Users/dasheng/.ssh/id_rsa':
问题:
如果您的私钥使用密码短语来加密了的话,每一次使用 SSH 密钥对进行登录的时候,您都必须输入正确的密码短语。
而 SSH agent 程序能够将您的已解密的私钥缓存起来,在需要的时候提供给您的 SSH 客户端。这样子,您就只需要将私钥加入 SSH agent 缓存的时候输入一次密码短语就可以了。这为您经常使用 SSH 连接提供了不少便利。
这里我们使用ssh-agent
:
ssh-agent 是 OpenSSH 自带的一个 SSH agent。
命令行输入以下命令:
eval 'ssh-agent' //运行SSH agent
ssh-add //把解密的私钥加入到缓存
Enter passphrase for /Users/dasheng/.ssh/id_rsa: //输入解密私钥所需要的密码
我们把上述命令添加到 ~/.bash_profile
或~/.zshrc
,以便启动 终端 的时候它自动运行。
其实我们在创建秘钥对的时候可以不设置密码短语,那也就不会出现这个错误提示了。创建的时候如下,每一步直接按enter执行下去就行:
ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/dasheng/.ssh/id_rsa):
/Users/dasheng/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/dasheng/.ssh/id_rsa.
Your public key has been saved in /Users/dasheng/.ssh/id_rsa.pub.
每步直接enter之后,就是默认路径为/Users/dasheng/.ssh/id_rsa
,默认密码为空。