gpt4 book ai didi

linux - 在 Mathematica 中运行 ssh 命令

转载 作者:太空狗 更新时间:2023-10-29 12:03:22 28 4
gpt4 key购买 nike

最近我一直在尝试从 Mathematica 笔记本运行 shell ssh 命令。我尝试了几种建议的方法,但没有取得积极成果。我对答案的搜索导致我得到以下结果:

RunProcess[$SystemShell, All, "
ssh <login>@<server>
exit
"]

但这会产生以下错误

<|"ExitCode" -> 127, "StandardOutput" -> "",
"StandardError" ->
"ssh: /usr/local/Wolfram/Mathematica/10.0/SystemFiles/Libraries/\
Linux-x86-64/libcrypto.so.1.0.0: no version information available \
(required by ssh)
ssh: /usr/local/Wolfram/Mathematica/10.0/SystemFiles/Libraries/\
Linux-x86-64/libcrypto.so.1.0.0: no version information available \
(required by ssh)
ssh: relocation error: ssh: symbol EVP_aes_128_ctr, version \
OPENSSL_1.0.1 not defined in file libcrypto.so.1.0.0 with link time \
reference
"|>

你知道如何解决它吗?

附言我的总体目标是在外部服务器和 Mathematica 笔记本之间导入和导出数据。

最佳答案

我发现 Mathematica 强制依赖库。如果我在终端中使用 ldd/usr/bin/ssh 命令,我将获得以下输出:

linux-vdso.so.1 => (0x00007fffb31fe000)
libselinux.so.1 =>/lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f2a309a7000)
libcrypto.so.1.0.0 =>/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f2a305cd000)
libdl.so.2 =>/lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2a303c8000)
libz.so.1 =>/lib/x86_64-linux-gnu/libz.so.1 (0x00007f2a301af000)
libresolv.so.2 =>/lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f2a2ff94000)
libgssapi_krb5.so.2 =>/usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f2a2fd4d000)
libc.so.6 =>/lib/x86_64-linux-gnu/libc.so.6 (0x00007f2a2f987000)
libpcre.so.3 =>/lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f2a2f749000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2a30e87000)
libkrb5.so.3 =>/usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f2a2f47d000)
libk5crypto.so.3 =>/usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f2a2f24e000)
libcom_err.so.2 =>/lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f2a2f04a000)
libkrb5support.so.0 =>/usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f2a2ee3e000)
libkeyutils.so.1 =>/lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f2a2ec3a000)
libpthread.so.0 =>/lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2a2ea1b000)

但在 Mathematica 中做同样的事情:

RunProcess[$SystemShell, 全部, "
ldd/usr/bin/ssh
导出
"]

给出不同的依赖:

libcrypto.so.1.0.0 =>/usr/local/Wolfram/Mathematica/10.0/SystemFiles/Libraries/Linux-x86-64/libcrypto.so.1.0.0 (0x00007f30fbe3c000)
libz.so.1 =>/usr/local/Wolfram/Mathematica/10.0/SystemFiles/Libraries/Linux-x86-64/libz.so.1 (0x00007f30fba20000)

我的解决方案是将文件 /usr/local/Wolfram/Mathematica/10.0/SystemFiles/Libraries/Linux-x86-64/libcrypto.so.1.0.0 替换为 /lib/x86_64-linux-gnu/libcrypto.so.1.0

这可能不是最好的方法,但有效。

关于linux - 在 Mathematica 中运行 ssh 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26482422/

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