19

我正在尝试将scp某些文件从服务器复制到我的本地计算机,但我要么获得权限被拒绝,要么服务器正在将文件复制到服务器

前任:

scp username@host:/files/to/copy/from/\* /path/of/local/destination/--> 权限被拒绝

scp username@host:/files/to/copy/from/\* ~-->server 复制到服务器上的主目录

scp username@host:/files/to/copy/from/\* ~/Desktop-->server 在服务器上创建一个名为 Desktop 的文件

我不知道该怎么做,这是在 Mac 上顺便说一句

4

5 回答 5

18

您需要使用 -r 进行递归复制,并确保您对目标具有写权限。尝试做一个touch /path/to/local/destination/file,看看你是否获得许可被拒绝。如果是这样,则使用 sudo scp 复制文件。

于 2013-11-04T21:49:09.413 回答
12

即使 ssh 工作正常,也会发生这种情况!大多数情况下,问题是文件/目录权限!使用 chmod 777 /path/dir/* 可以对 /dir 的所有直接子项提供写访问权限 - 包括根文件和目录。但是,辅助文件/目录不受这些权限的影响。示例:假设我有这个网站:/var/www: index.php, css[mobile.css, global.css], js[init.js, fun.js], include[head.php, footer.php, body .php,乐趣.php]

为了能够覆盖 fun.js: chmod 777 /var/www/js/*

于 2015-02-07T08:32:44.543 回答
2

我遇到了同样的问题。我使用用户名和密码将文件从 windows scp 到 ubuntu 上的用户名帐户,并获得权限被拒绝错误。原因是因为其中一个目录归根用户所有。例如,如果帐户位于 /home/username 中,那么 /home 很可能归 root 所有。如果您更改 /home 的所有者,那么它可能会起作用。试试:sudo chown root: /folder

于 2014-11-19T00:44:15.823 回答
2

如果目标目录中存在与源文件同名的文件,则需要先将其删除。我遇到了这样的问题。

于 2017-09-14T02:56:33.827 回答
0

我有同样的问题。

尝试了一切都无法解决,直到我检查了我的 ISP 网关。

我使用来自我的 ISP 的 Zyxel 网关,因为那离我有另一个终端的地方很远,所以我在它们之间插入了一个旧的 Linksys DD-WRT 闪存路由器/中继器。我连接到该 Linksys 的主机终端首先使用 DHCP 表锁连接到网关(我命令网关通过 DHCP 为该终端的 MAC 提供相同的 IP)。我这样做是因为我首先在那台 Mac 上有一个 NAS 服务器。现在我将终端移动到另一个位置,完全忘记了 mac ip 分配。

所以现在我有一个连接到网关的 WIFI 中继器,并且分配了 mac 的计算机也连接到了它。

现在的问题是我的网关认为它是旧的 NAS 而它是另一个终端,并将 IP 分配给 WIFI 中继器,这是一个 IP 冲突,因此scp找不到正确的位置。反过来又导致访问被拒绝scp。奇怪的是,一切都很好,我可以上网、上网、发邮件,但随之scp而来的是冲突。

在网关中更改它(删除了 DHCP 表),并为终端分配了另一个 ip...

现在scp命令像以前一样工作!

我花了 8 个小时才弄明白,所以我想分享一下这个小问题,它真的会让你大吃一惊……

问候 Pi @ir

于 2016-01-05T17:35:40.760 回答