我试图使用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)。也许您对这个特定主机使用的密钥与您所怀疑的不同。