Erlang ssh模块无法识别我的ssh密钥

时间:2013-08-11 15:09:41

标签: erlang elixir

我正在尝试使用ssh密钥连接到服务器,但我一直要求输入密码。我已尝试使用和不使用用户目录选项。有没有人有任何想法?

:ssh.start
{:ok, S} = :ssh.connect('some.host.com', 22,
                        [
                         {:silently_accept_hosts, true},
                         {:user_dir, '/Users/nan/.ssh'}
                       ])
#...
:ssh.close(S)
:ssh.stop

1 个答案:

答案 0 :(得分:2)

检查〜/ .ssh / config文件的内容。我相信Erlang模块直接在目录中查找id_rsa或id_dsa文件。您的配置文件中可能有some.host.com的条目,默认为不同的密钥位置或不同的用户名。因此,使用命令行进行日志记录工作,并且在模块尝试建立连接时失败。

还要检查代理会话中当前加载的密钥(ssh-add -L)。也许您正在使用与您怀疑的特定主机不同的密钥。