如何使用 mobaXterm 将本地文件正确上传到服务器?



我正在尝试将文件从本地桌面上传到服务器,并且正在使用以下命令:

scp myFile.txt cooluser@192.168.10.102:/opt/nicescada/web

遵循结构:SCP 文件名 user@ip:/remotePath。

但是我得到"权限被拒绝"。我尝试使用 sudo ,但我收到相同的消息。我能够从服务器下载到我的本地计算机,因此我假设我拥有所需的所有权限。

这行代码可能出了什么问题?

如果您的目标计算机上的/desired/path仅对 root 具有写入访问权限,并且如果您在目标计算机上有一个具有 sudo 权限的帐户(通过在命令前面加上sudo的超级用户权限(,您也可以通过以下方式执行此操作:

选项 1 基于 SCP:

  1. 将文件复制到目标计算机上您具有写入访问权限的位置,如/tmp
    scp file user@destinationMachine:/tmp
    
  2. 使用以下命令登录到目标计算机:
    ssh user@destinationMachine
    
  3. 使用以下方法将文件移动到/desired/path
    sudo mv /tmp/file /desired/path
    

如果您有无密码的sudo设置,您还可以组合步骤2.和3。

ssh user@destination sudo mv /tmp/file /desired/path

选项 2 基于 rsync

另一个可能更简单的选择是使用rsync

rsync -e "ssh -tt" --rsync-path="sudo rsync" file user@destinationMachine:/desired/path

添加了-e "ssh -tt"以在没有 TTY 的情况下运行 sudo。

尝试指定完整的目标路径:

scp myFile.txt cooluser@192.168.10.102:/opt/nicescada/web/myFile.txt

当然,仔细检查cooluser有权在该文件夹中写入(而不仅仅是读取(:755,而不是 644 对于web父文件夹。

相关内容

  • 没有找到相关文章

最新更新