ssh-agent 仅作为命令工作,而不是 macOS 中的脚本

ssh-agent 仅作为命令工作,而不是 macOS 中的脚本

我有一台装有 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'

相关内容