我必须在我的服务器上安装一个公钥,以便远程脚本可以将ftp文件传输到我的服务器。无法添加ssh密钥。 ssh-add返回1
我将公钥放在我的〜/ .ssh目录中,并确保ssh-agent正在运行,并且相关的env变量设置正确。
我确信,在公共密钥权限被设置为600
我跑的ssh-add和它没有添加的公共密钥。我运行了ssh-add并提供了公钥的名称,并要求输入密码。由于生成公钥的用户没有使用密码短语,因此我将其留空并按回车键。什么都没有发生,echo $?返回1.
我将公钥更名为标识。我再次运行ssh-add,并试图添加密钥,再次询问密码短语。我再次敲入并没有发生任何事情,echo $?仍然返回1.
我发现了几个答案,说ssh-add将添加私钥如果您提供参数,并且您必须运行它没有参数。这似乎不是现实。我已经尝试了ssh2格式和openSSH格式的密钥。
我也读过,我可以手动添加密钥。我读过这个文件应该在〜/ .ssh中,我读过不同的消息来源说它必须是authorized_keys,authorized_keys2和known_hosts。我尝试了所有三个远程脚本仍然无法登录。
我用于authorized_keys中的条目的格式是“SSH-RSA AAAAB3 ... =”
权限的所有三个文件是600
我完全失去了。
我在Solaris 10上
你能编辑你的问题来显示运行ssh-add的例子吗?包括您运行的实际命令以及它生成的实际输出。重命名之前,密钥文件的名称是什么? – Kenster
我发现我的问题是,当我将密钥添加到authorized_keys文件时,我在末尾有一个“=”,因为我使用的另一台服务器上的authorized_keys文件在每个条目的末尾都有。当我随心所欲地移除它时,它开始工作。 – JustJustin