无法添加 ssh 密钥。 ssh 添加 returns 1

Cannot add ssh key. ssh-add returns 1

我必须在我的服务器上安装一个 public 密钥,以便远程脚本可以 ftp 文件到我的服务器。

我将 public 密钥放在我的 ~/.ssh 目录中,并确保 ssh-agent 是 运行ning 并且相关的环境变量设置正确。

我确保 public 密钥的权限设置为 600。

我 运行 ssh-add 但它没有添加 public 密钥。我 运行 ssh-add 并提供了 public 密钥的名称,它要求输入密码。由于生成 public 密钥的用户没有密码短语,因此我将其留空并按回车键。什么都没有发生并且 echo $? returns 1.

我将 public 键重命名为 identity。我再次 运行 ssh-add,它尝试添加密钥,再次要求输入密码。我再次按下回车键,但没有任何反应,echo $?仍然 returns 1.

我找到了几个答案,说 ssh-add 将在您提供参数时添加私钥,并且您必须 运行 它没有参数。这似乎不是现实。我已经尝试了 ssh2 格式和 openSSH 格式的密钥。

我还看到我可以手动添加密钥。我读过该文件应该在 ~/.ssh 中,并且我读过不同的来源说它必须是 authorized_keys、authorized_keys2 和 known_hosts。三种都试过了,远程脚本还是登录不上

我在 authorized_keys 中使用的条目格式是 "ssh-rsa AAAAB3...="

三个文件的权限都是600。

我完全迷路了。

我在 Solaris 10 上。

我的问题是我的 authorized_keys 文件中的行末尾有一个 =。

我添加了=,因为我使用的另一台服务器上的authorized_keys文件就是这样写的。我不知道为什么会这样,或者为什么我认为它是必要的部分或格式,但删除它让远程用户登录没有任何问题。