加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Erlang远程shell无法正常工作

发布时间:2020-12-15 18:58:00 所属栏目:安全 来源:网络整理
导读:我的docker容器(CentOS)上有一些奇怪的行为.当我进入SSH时,有一个正在运行的Erlang VM实例(api@127.0.0.1)我无法使用-remsh参数连接它,但我可以ping它.我的Erlang节点(api@127.0.0.1)可以正常工作. bash-4.2# ./bin/erl -name 'remote@127.0.0.1' -remsh 'ap
我的docker容器(CentOS)上有一些奇怪的行为.当我进入SSH时,有一个正在运行的Erlang VM实例(api@127.0.0.1)我无法使用-remsh参数连接它,但我可以ping它.我的Erlang节点(api@127.0.0.1)可以正常工作.
bash-4.2# ./bin/erl -name 'remote@127.0.0.1' -remsh 'api@127.0.0.1'
Eshell V6.1  (abort with ^G)
(remote@127.0.0.1)1> node().
'remote@127.0.0.1'
(remote@127.0.0.1)2> net_adm:ping('api@127.0.0.1').
pong
(remote@127.0.0.1)3> erlang:system_info(system_version).
"Erlang/OTP 17 [erts-6.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]n"
(remote@127.0.0.1)4> rpc:call('api@127.0.0.1',erlang,node,[]).
'api@127.0.0.1'

运行了2个linux进程 – 一个用于实际VM,另一个用于尝试调用远程shell的进程

26 ?        Sl    40:46 /home/vcap/app/bin/beam.smp -- -root /home/vcap/app -progname erl -- -home /home/vcap/app/ -- -name api@127.0.0.1 -boot releases/14.2.0299/start -config sys -boot_var PATH lib -noshell
32542 ?     Sl+    0:00 /home/vcap/app/bin/beam.smp -- -root /home/vcap/app -progname erl -- -home /home/vcap/app -- -name remote@127.0.0.1 -remsh api@127.0.0.1

当我将Erlang二进制文件复制到主机(Arch Linux)并运行./bin/erl时,我得到了不同的结果:

[jodias@arch tmp]$./bin/erl
Erlang/OTP 17 [erts-6.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V6.1  (abort with ^G)
1>

请注意,打印的是Erlang系统版本,并且在docker容器上缺少(但Erlang二进制文件完全相同).

你试图打开遥控器的shell中的$TERM是什么?当TERM不存在或者不知道哪些是Erlang构建时,存在一个问题,使得远程shell连接无声地失败.试试这个:

TERM = xterm ./bin/erl -name’remote@127.0.0.1′-remsh’api@127.0.0.1′

我曾经向Erlang邮件列表报告了the problem,但没有回答.现在我看到this issue是在Erlang问题跟踪器中.请投票给OTP团队挑选;)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读