我有一台装有 macOS 10.11.6 的 Mac,遇到了一个问题,当我通过 ssh 连接到服务器时,密码(私钥的密码)没有保存,每次登录时我都必须输入密码。所以我在这个问题之后找到了这个解决方案:
“Mac OS X:以 root 身份通过 ssh 连接到远程主机时,钥匙串无法保存密码” 当我执行这两个命令时:
eval `ssh-agent -s`
/usr/bin/ssh-add -k /Volumes/path/to/my/ssh-key
在命令行上它可以工作。尽管我收到“无法创建钥匙串项”的消息,但只要我不关闭放置这些命令的终端选项卡,密码就会被保存。
但是,当我将这两个命令放入 shell 脚本中并以与之前相同的用户(root)运行它时,下次登录时就会忘记密钥。这是简单的脚本:
#!/bin/bash
eval `ssh-agent -s`
/usr/bin/ssh-add -k /Volumes/path/to/my/ssh-key
我输入密码后 SSH 会话打开了,但退出后密码就消失了,我必须再次输入密码。
我这里可能犯了什么错误?
感谢 Frank
答案1
我现在在我的 bashrc 中添加了一个别名,这样它就可以毫无问题地运行了:)
alias da='eval `ssh-agent -s` && /usr/bin/ssh-add -K /Volumes/TC20GB/dickies/root/dickies.ssh'