如何使用 mobaXterm 将本地文件正确上传到服务器?
How to properly upload a local file to a server using mobaXterm?
我正在尝试将文件从我的本地桌面上传到服务器,我正在使用此命令:
scp myFile.txt cooluser@192.168.10.102:/opt/nicescada/web
结构如下:scp filename user@ip:/remotePath.
但我得到 "Permission Denied"。我尝试使用 sudo ,但收到相同的消息。我能够从服务器下载到我的本地计算机,所以我假设我拥有所需的所有权限。
那行代码有什么问题?
尝试指定完整的目标路径:
scp myFile.txt cooluser@192.168.10.102:/opt/nicescada/web/myFile.txt
当然,仔细检查 cooluser
有权 在该文件夹中写入 (不仅仅是读取):755,而不是 [=12= 的 644 ] 父文件夹。
如果您在目标机器上的 /desired/path
仅对 root 具有写访问权限,并且如果您在目标机器上拥有一个具有 sudo 权限的帐户(通过在 sudo
前添加超级用户权限)你的命令),你也可以通过以下方式进行:
选项 1 基于 scp:
- 将文件复制到目标计算机上您具有写入权限的位置,如
/tmp
:
scp file user@destinationMachine:/tmp
- 使用以下命令登录到您的目标计算机:
ssh user@destinationMachine
- 使用以下命令将文件移动到您的
/desired/path
:
sudo mv /tmp/file /desired/path
如果您有无密码的 sudo 设置,您还可以将第 2 步和第 3 步合并到
ssh user@destination sudo mv /tmp/file /desired/path
基于rsync的选项2
另一个可能更简单的选择是使用 rsync
:
rsync -e "ssh -tt" --rsync-path="sudo rsync" file user@destinationMachine:/desired/path
将 -e "ssh -tt"
添加到 运行 sudo 而无需 tty。
我正在尝试将文件从我的本地桌面上传到服务器,我正在使用此命令:
scp myFile.txt cooluser@192.168.10.102:/opt/nicescada/web
结构如下:scp filename user@ip:/remotePath.
但我得到 "Permission Denied"。我尝试使用 sudo ,但收到相同的消息。我能够从服务器下载到我的本地计算机,所以我假设我拥有所需的所有权限。
那行代码有什么问题?
尝试指定完整的目标路径:
scp myFile.txt cooluser@192.168.10.102:/opt/nicescada/web/myFile.txt
当然,仔细检查 cooluser
有权 在该文件夹中写入 (不仅仅是读取):755,而不是 [=12= 的 644 ] 父文件夹。
如果您在目标机器上的 /desired/path
仅对 root 具有写访问权限,并且如果您在目标机器上拥有一个具有 sudo 权限的帐户(通过在 sudo
前添加超级用户权限)你的命令),你也可以通过以下方式进行:
选项 1 基于 scp:
- 将文件复制到目标计算机上您具有写入权限的位置,如
/tmp
:scp file user@destinationMachine:/tmp
- 使用以下命令登录到您的目标计算机:
ssh user@destinationMachine
- 使用以下命令将文件移动到您的
/desired/path
:sudo mv /tmp/file /desired/path
如果您有无密码的 sudo 设置,您还可以将第 2 步和第 3 步合并到
ssh user@destination sudo mv /tmp/file /desired/path
基于rsync的选项2
另一个可能更简单的选择是使用 rsync
:
rsync -e "ssh -tt" --rsync-path="sudo rsync" file user@destinationMachine:/desired/path
将 -e "ssh -tt"
添加到 运行 sudo 而无需 tty。