)
环境:mac
工具:iterm
登录验证工具:google验证器
一、发现问题
今天之前使用items 连接跳板机ssh脚本命令的时候,还能正常只输入google验证码,不知什么原因导致,今天先让我输入电脑密码才可以。我也不记得何时配置过免密登陆。
总之让输入私钥。
Enter passphrase for key /Users/自己用户路径/.ssh/XXXXXXX
二、解决问题
于是在网上寻找少输入一次密码的方法。方法有很多,试着放到自己的ssh脚本中,还是不好使。因为以前用的好好的,突然出现这种情况,寻找原因的话,是不是因为某缓存文件清除了呢?
结果真是。由于找到了这个命令 ssh-add
ssh-add
把专用密钥添加到ssh-agent的高速缓存中
语法
ssh-add [-cDdLlXx] [-t life] [file ...]
ssh-add -s pkcs11
ssh-add -e pkcs11
选项
-D:删除ssh-agent中的所有密钥.
-d:从ssh-agent中的删除密钥
-e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。
-s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。
-L:显示ssh-agent中的公钥
-l:显示ssh-agent中的密钥
-t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥
-X:对ssh-agent进行解锁
-x:对ssh-agent进行加锁
于是 在 shh里前面加了一行命令,如下:
ssh-add --apple-use-keychain /Users/自己用户路径/.ssh/XXXXXXX
注: 网上有很多使用的 -K 参数,但是mac会报warning错误,如下:
The -K and -A flags are deprecated and have been replaced
by the --apple-use-keychain and --apple-load-keychain
flags, respectively. To suppress this warning, set the
environment variable APPLE_SSH_ADD_BEHAVIOR as described in
the ssh-add(1) manual page.
所以上面那行命令 使用了 --apple-use-keychain
参数。
最终,可以跳过第一次要输入的私钥密码。
END
如有问题请在下方留言。