我在尝试连接ssh主机时遇到身份验证错误。
目标是使用本地转发连接到主机。下面的命令是使用drop bear ssh客户端通过本地转发连接到主机的示例。
dbclient -N -i /opt/private-key-rsa.dropbear -L 2002:1.2.3.4:2006 -p 2002 -l
test_user 11.22.33.44
到目前为止,我有这个返回空连接的代码
ip = "11.22.33.44"
user = "test_user"
port = 2002
ssh_config = [
user_interaction: false,
silently_accept_hosts: true,
user: String.to_charlist(user),
user_dir: String.to_charlist("/opt/")
]
# returns aunthentication error
{:ok, conn} = :ssh.connect(String.to_charlist(ip), port, ssh_config)
这就是我看到的错误
Server: 'SSH-2.0-OpenSSH_5.2'
Disconnects with code = 14 [RFC4253 11.1]: Unable to connect using the available authentication methods
State = {userauth,client}
Module = ssh_connection_handler, Line = 893.
Details:
User auth failed for: "test_user"
我是长生不老药的新手,已经阅读这个erlang ssh文档两天了。我在文档中没有找到任何示例,这使得它很难理解。
发布于 2018-08-07 06:49:50
解决方案是将dropbear密钥转换为ssh密钥。我已经使用了this link作为参考。
下面是将dropbear密钥转换为ssh密钥的命令
/usr/lib/dropbear/dropbearconvert dropbear openssh /opt/private-key-rsa.dropbear /opt/id_rsa
https://stackoverflow.com/questions/51700327
复制相似问题