Answers:
您的命令试图将新文档放入计算机的根目录(/
)。您要做的是将它们转移到您的主目录(因为您没有写权限/
)。如果到家的路很像,请/home/erez
尝试以下操作:
scp My_file.txt user_id@server:/home/erez/
您可以使用快捷方式替换主目录的路径~/
,因此以下效果相同:
scp My_file.txt user_id@server:~/
您甚至可以完全忽略远端的路径。这意味着您的主目录。
scp My_file.txt user_id@server:
也就是说,要将文件复制到桌面,您可能需要将其传输到/home/erez/Desktop/
:
scp My_file.txt user_id@server:/home/erez/Desktop/
或使用快捷方式:
scp My_file.txt user_id@server:~/Desktop/
或在相对端使用相对路径,该相对路径是相对于您的主目录解释的:
scp My_file.txt user_id@server:Desktop/
正如@ckhan已经提到的,您还必须交换参数,它必须是
scp FROM TO
因此,如果要将文件My_file.txt
从服务器复制user_id@server
到桌面,则应尝试以下操作:
scp user_id@server:/path/to/My_file.txt ~/Desktop/
如果该文件My_file.txt
位于服务器的主目录中,则可以再次使用快捷方式:
scp user_id@server:~/My_file.txt ~/Desktop/
~
应保护免受评估,以便在远程主机上进行评估:\~
例如。
我来这里是“使用scp传输文件:权限被拒绝”,因为我有同样的错误。
就我而言,用scp下载的文件将覆盖root拥有的文件,而我不是root。简而言之,检查要覆盖的文件的所有权。
/Home
而不是成为root用户,所以他没有外部写入权限~/
这似乎是许可问题
该文件可能已不具有读取权限,因为它已作为源帐户传递到目标服务器。
您需要确保源文件具有必需的权限,尤其是读取权限
-rw-r--r--
chmod 744
然后将文件scp到目标位置。这将解决
-rw-r--r--
是644,而不是744。在实际上不是可执行文件的文件上设置可执行权限可能会导致问题。
对我来说,解决“拒绝权限”的问题是,在远程服务器上,将文件夹所有权更改为root :(当您将文件发送给非root用户并且目录归root所有时,可能会发生这种情况) 。远程计算机(复制目标):
sudo chown (your username) (remote folder)
同样要确保启用远程文件夹上的所有权限:(并非总是必要的):
sudo chmod 777 (remote folder)
拒绝权限表示您不是服务器的根。您只在那开户。因此,在这种情况下,您需要执行以下操作:
sudo scp -r /path2yourFolder/ username@server_Ip:/home/username
这将复制到服务器上的主目录。
这也将起作用:
scp -r /path2yourFolder/ username@server_Ip:~/
就我而言,我还尝试使用-R将所有权限授予该文件夹,但仍然出现有关权限的错误。
我必须在目标服务器和文件夹的路径之前删除“ /”。原因是因为下载是ssh到服务器后我可以列出的第一个文件夹,例如:ssh tiennsloit@13.76.91.2
这有效:
sudo scp -rp /用户/macintosh.vn/Downloads/bbhs_20190301.zip tiennsloit@13.76.91.2:下载
这不起作用:
sudo scp -rp /用户/macintosh.vn/Downloads/bbhs_20190301.zip tiennsloit@13.76.91.2:/下载
轻松修复。确保您是root。SCP到遥控器,它将询问您该机器的root密码。刚刚遇到的问题就是解决方案。您将其root。
scp My_file.txt user_id@server:
它将文件复制到用户的主文件夹。