【问题标题】:Cannot add ssh key. ssh-add returns 1无法添加 ssh 密钥。 ssh-add 返回 1
【发布时间】:2016-06-15 20:49:01
【问题描述】:

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

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

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

我运行了 ssh-add,但它没有添加公钥。我运行 ssh-add 并提供了公钥的名称,它要求输入密码。由于生成公钥的用户没有密码短语,因此我将其留空并按 Enter。什么也没发生并回显 $?返回 1。

我将公钥重命名为身份。我再次运行 ssh-add 并尝试添加密钥,再次要求输入密码。我再次按下回车键,什么也没发生,回显 $?仍然返回 1。

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

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

我在authorized_keys 中输入的格式是“ssh-rsa AAAAB3...="

所有三个文件的权限都是 600。

我完全迷路了。

我使用的是 Solaris 10。

【问题讨论】:

  • 您能否编辑您的问题以显示运行 ssh-add 的示例?包括您运行的实际命令和它产生的实际输出。重命名之前的密钥文件名称是什么?
  • 我发现我的问题是,当我将密钥添加到 authorized_keys 文件时,我最后有一个“=”,因为我使用的另一台服务器上的 authorized_keys 文件在每个文件的末尾都有这个入口。当我一时兴起删除 = 时,它开始工作了。

标签: ssh solaris-10


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-10-21
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 2020-09-10
    • 2023-03-19
    • 2013-02-12
    • 2018-12-15
    • 2023-03-21
    相关资源
    最近更新 更多