gpt4 book ai didi

ssh - 无法使用 Elixir 连接到远程 SSH 服务器

转载 作者:行者123 更新时间:2023-12-04 14:21:22 25 4
gpt4 key购买 nike

我一直在尝试使用 elixir 连接到远程 ssh 服务器。

这就是我在 IEX 中所做的:

[Macintosh] elixir/logglycious (master|…)> iex                                                                            15-07-20 0:11
Erlang/OTP 17 [erts-6.4] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]

Interactive Elixir (1.0.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> :application.start(:crypto)
{:error, {:already_started, :crypto}}
iex(2)> :application.start(:public_key)
{:error, {:not_started, :asn1}}
iex(3)> :application.start(:asn1)
:ok
iex(4)> :application.start(:public_key)
:ok
iex(5)> :application.start(:ssl)
:ok
iex(6)> :application.start(:ssh)
:ok
iex(7)> :ssh.connect("my.server.co.uk", 22, [ { :user, 'my_username' } ])
{:error, {:options, {:socket_options, [:inet]}}}
iex(8)>

首先,我必须说这个错误消息根本没有帮助。不过,我在 Slack 上得到了社区的大力支持。有人建议也启动 inets 应用程序。我做了并重试连接,但我再次遇到相同的错误。

我究竟做错了什么 ?更重要的是,下次我如何找到解决此类问题的方法?

[已修复] 存在多个问题。首先必须在单引号之间提供服务器。然后确保您的公钥不需要密码。如果是,则可以将其作为选项传递给 connect 函数。此外,没有必要启动我启动的所有应用程序。 :ssh.start是我唯一需要的。

最佳答案

如果我们查看 :ssh.connect/3 的文档我们看到 host参数应该是一个字符串。由于它是 erlang 函数的文档,因此字符串表示字符列表。单引号创建 charlist 字符串,双引号创建 utf-8 编码的二进制字符串。像这样调用函数::ssh.connect('my.server.co.uk', 22, user: 'my_username') .

关于ssh - 无法使用 Elixir 连接到远程 SSH 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31507015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com