【问题标题】:File transfer in erlangerlang中的文件传输
【发布时间】:2016-03-15 19:41:19
【问题描述】:

我是 erlang 的新手,想知道如何通过 ssh 连接到远程机器 A 并使用 ssh 传输文件。任何帮助将不胜感激。我已经在其他论坛中搜索过相同的内容,但无法看懂代码

【问题讨论】:

    标签: ssh erlang file-transfer


    【解决方案1】:
    1> ssh:start().
    ok
    2> {ok, Pid, ConnRef} = ssh_sftp:start_channel("my.server.com").
    {ok,<0.52.0>,<0.47.0>}
    3> ssh_sftp:list_dir(Pid, ".").
    {ok,[".login",".bash_history",".login_conf",".profile",".rhosts",".lesshst",".ssh","some","other","files",".shrc","..","."]}
    4> {ok, Data} = ssh_sftp:read_file(Pid, ".login").
    {ok,<<"# $FreeBSD: release/10.0.0/share/skel/dot.login 190477 2009-03-27 21:13:14Z ru $\n#\n# .login - csh login scri"...>>}
    

    【讨论】:

    • 您好,我尝试了上述步骤,但是在 ssh:start() 期间失败,并出现以下错误{error,{not_started,crypto}}。我需要任何类型的依赖项
    • 好吧,我明白了,我做了 crypto:start() 。在 ssh:start() 之前
    • {ok, Pid, ConnRef} = ssh_sftp:start_channel("XX.XX.XX.XX") 。新主机 192.168.1.55 接受 [y/n]?它要求输入'y'或'n'但是终端冻结并且Erlang没有接受我的输入不知道如何继续
    • Erlang 使用标准的 OpenSSH 文件。此错误表示远程主机不在您帐户的 known_hosts 文件中。最简单的方法是先使用标准 SSH 连接到远程主机,然后再使用 Erlang 进行连接。标准 SSH 将适当地更新文件。或者,您需要自己更新 known_hosts。
    • 它说的是同样的事情,即使对已知主机或即使在使用 ssh 之后也无法通过终端输入'y'或'n'
    猜你喜欢
    • 2016-12-28
    • 2013-03-01
    • 1970-01-01
    • 2015-12-06
    • 2010-12-24
    • 2011-01-09
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多