这让我很抓狂!我只想将一个简单的文件从笔记本电脑传输到服务器。
我在两台机器上都使用 ubuntu。
所以我有:
-rwxr-xr-x 1 sandro 414622 2011-10-14 23:42 sandrophoto-html.tar.gz
我使用以下命令发送:
sudo scp -P XXXX sandrophoto-html.tar.gz [email protected]:/media/xx/xx/xx
我得到:scp: /media/xx/xx/xx/sandrophoto-html.tar.gz: Permission denied
ps 我可能会反过来做这件事 - 我想将位于我桌面上的文件 tar.gz 发送到远程服务器的文件夹 /media/yadayda
答案1
据我所知,您的顺序是正确的,scp 的一般完成方式是:
scp sourceuser@sourcehost:/path/to/source/file destinationuser@destinationhost:/path/to/destination/
从你的问题来看,你有一个本地文件要发送到目标服务器。所以你的语法是正确的,很好!
如果您的权限被拒绝,则说明您使用的用户名不正确,或者身份验证出了问题。最有可能的原因是 sudo 命令仅在本地有效,因此它不会授予您在远程计算机上的 root 权限,所以这可能是问题所在。确保您在远程服务器上登录的用户对您尝试写入的位置具有写入权限。
如果问题在于目标用户在没有 sudo 的情况下无法访问该位置,请将文件移动到目标用户的主文件夹,然后从另一台服务器上的 shell 使用 sudo mv 该文件将其放在正确的位置。
答案2
您好,有同样的权限错误问题,可以通过以下方式解决
确保要复制到的目录192.168.0.4
归用户所有用户名
chown username downloads
在本地机器上执行
sudo scp filename.zip [email protected]:/etc/Myfiles/downloads
干杯
答案3
权限被拒绝意味着您不是服务器的根用户。您只是在那里拥有一个帐户。因此在这种情况下您需要执行以下操作:
sudo scp -r /path2yourFolder/ username@server_Ip:/home/username
这将复制到服务器上的主目录。
这也行得通:
scp -r /path2yourFolder/ username@server_Ip:~/
答案4
当文件已存在于目标位置且现有文件具有只读权限(防止文件被覆盖)时,会发生此错误。就我而言,我只需登录并删除现有文件即可解决问题。