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



我试图使用ssh密钥连接到服务器,但不断有人问我密码。我尝试过使用和不使用user_dir选项。有人有什么想法吗?

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

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

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

最新更新