Erlang SSH守护进程没有hostkey alg

时间:2012-12-01 17:40:22

标签: ssh erlang

我正在尝试运行otp中为ssh守护程序提供的以下示例: https://raw.github.com/erlang/otp/maint/lib/ssh/examples/ssh_sample_cli.erl

1> c(ssh_sample_cli).
ssh_sample_cli.erl:146: Warning: this expression will fail with a 'badarith' exception
{ok,ssh_sample_cli}
2> ssh_sample_cli:listen(1111).
{ok,<0.51.0>}

从我的shell我尝试连接但是我得到以下内容:

$ ssh localhost -p 1111 -oLoglevel=DEBUG
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to localhost [::1] port 1111.
debug1: Connection established.
debug1: identity file /Users/eric/.ssh/id_rsa type 1
debug1: identity file /Users/eric/.ssh/id_rsa-cert type -1
debug1: identity file /Users/eric/.ssh/id_dsa type -1
debug1: identity file /Users/eric/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version Erlang
debug1: no match: Erlang
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-sha1 none
debug1: kex: client->server aes128-cbc hmac-sha1 none
no hostkey alg
$

为什么会这样?我错过了什么?

3 个答案:

答案 0 :(得分:5)

我的主机密钥必须可以从Erlang访问。解决方法是将我的ssh hostkey复制到文件夹更改权限,以便Erlang可以访问它并使用{system_dir, "/<folder>/ssh/"}选项。

答案 1 :(得分:0)

尝试使用:

%ssh -o'HostKeyAlgorithms ssh-rsa,ssh-dss'...

答案 2 :(得分:0)

这主要是为了我将来的参考,但是......我不小心用密码短语设置了我的主机密钥。 This is not recommended.

相反,它们应该没有密码短语。