无法添加 ssh 密钥.ssh-add 返回 1



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

我将公钥放在我的 ~/.ssh 目录中,并确保 ssh-agent 正在运行并且相关 env 变量设置正确。

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

我运行了 ssh-add,但它没有添加公钥。 我运行了 ssh-add 并提供了公钥的名称,它要求提供密码短语。 由于生成公钥的用户在没有密码短语的情况下这样做,因此我将其留空并按回车键。 什么也没发生,回声$?返回 1。

我将公钥重命名为标识。 我再次运行 ssh-add,它尝试添加密钥,再次要求输入密码短语。 我再次按回车键,什么也没发生,回声$?仍然返回 1。

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

我还读到我可以手动添加密钥。 我读过该文件应该在~/.ssh中,并且我读过不同的消息来源说它必须是authorized_keys,authorized_keys2和known_hosts。 我尝试了所有三个,但远程脚本仍然无法登录。

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

所有三个文件的权限均为 600。

我完全迷失了。

我使用的是 Solaris 10。

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

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

最新更新