我试图将文件从远程服务器B复制到远程服务器A.我的Elixir应用程序位于服务器A上。我正在执行此操作:Elixir与“scp” - 权限被拒绝并且连接丢失
a1 = System.cmd("scp", ["[serverB.....]", "/opt/folder1/"])
# => Permission denied
# {"", 1}
a2 = System.cmd("scp", ["serverB.....]", "/home/my_user"])
# => Connection to serverB closed by remote host.
# lost connection
# {"", 1}
在第一种情况下,我只收到权限被拒绝。
在第二种情况下,我确实收到了一个文件,这很好,但为什么它看起来像是失败?
我的目标是让第一工作,因为我想文件被直接下载到“的/ opt /文件夹1 /”。最好。
我该怎么做?可以通过scp吗?还是应该先下载到我的主目录?
为什么它在第二种情况失败,出了什么问题?
此外,也许我应该改为使用rsync
来避免权限问题?
更新:
我已经给文件夹的权限 “的/ opt /文件夹1 /”
sudo chmod 775
但错误并没有消失。
UPDATE2
我给的权限777它种作品 - 文件被下载。但返回结果仍然是这样的:
Connection to bb.bb.bb.bb closed by remote host.
lost connection
{"", 1}
这是为什么? 1意味着“错误”不是吗?更不要说“失去联系”。
如果您在shell提示符下对同一用户使用相同的命令,会发生什么情况?这看起来像是'my_user'没有权限写入'/ opt/folder1 /' –
@OnorioCatenacci,同样的问题。否认。但如何治愈? – Jodooomi
你是盒子上的管理员吗?如果是这样,你需要弄清楚如何给予my_user权限。如果没有,请管理员帮助你。无论哪种方式,这不是一个Elixir问题 - 它更多的是关于Linux中的scp和权限问题。 –