从远程 Mac 到 SSH 服务器的 SCP 失败

从远程 Mac 到 SSH 服务器的 SCP 失败

我见过很多类似这个问题的版本,但我认为没有一个适合我的具体情况。

我在工作时使用一台计算机,该计算机通过 SSH 连接到一台服务器。在此服务器上,我想通过 SCP 从家里的 Mac 中获取一些文件。

我可以使用常规命令从服务器通过 SSH 连接到我的 Mac,没有任何问题:

ssh [email protected]

然而当我尝试 SCP 时我得到:-bash:/usr/bin/scp:权限被拒绝

我正在使用以下命令:

scp [email protected]:/absolute/filepath/i* local/folder

我也尝试过数字 -p 标志。我的 Mac 上只有一个帐户,它是管理帐户。我不确定是否存在权限问题,还是因为我通过 SSH 进入服务器,或者是其他原因。

当我从家里的 Mac 进行 SCP 操作时,我也能够成功地从服务器到我的 Mac 进行 SCP。

有什么建议么?

编辑:额外的相关信息最初以评论的形式发布,因为我对协议一时糊涂(我的错)。

具体与我最后一句关于能够“逆转” SCP 相关:当我作为本地机器登录到我的 Mac 时,以下命令有效:

scp -P 22003 [email protected]:Data/path/i* /Full/Path/On/Mac/

ls -l /usr/bin/scp在服务器(本地)上运行返回以下内容:

rwxr-x---. 1 root root 67648 8月31日 12:40 /usr/bin/scp

ls -l /usr/bin/scp在 Mac 上(远程)运行将返回以下内容:

-rwxr-xr-x 1 根轮 81360 十二月 1 14:45 /usr/bin/scp

答案1

上述命令因指定的错误而失败,但是当我作为本地机器登录到我的 Mac 时,以下命令有效:

scp -P 22003 [email protected]:Data/path/i* /Full/Path/On/Mac/

因此,您无法访问服务器,因此/usr/bin/scp会收到“拒绝访问”错误。此类错误可能有很多原因,例如文件权限。

因为您可以scp从您的 Mac 并且可以ssh从服务器到您的 Mac,所以我认为这就是您现在应该做的。ssh进入 Mac 然后scp从那里进入。

要解决服务器上的问题,请首先检查您是否具有/usr/bin/scp以下服务器上的执行权限:

ls -l /usr/bin/scp

您会看到类似以下内容的内容:

-rwxr-xr-x 1 root root 84104 Jan 16 14:28 /usr/bin/scp
   ^  ^  ^

基本上,该文件归用户所有root(具有读、写、执行权限),组成员root有读和执行权限,其他所有登录用户也有读和执行权限

如果您x对该命令有(执行)权限,请使用scp -v增加详细程度(您可以添加更多v,最多三个,如果我没记错的话),您可能会看到一条消息告诉您哪里出了问题。您还可以尝试ldd /usr/bin/scp查看所有依赖项是否存在且可读。

相关内容