在terminalMac OS X中将SSH SCP本地文件转移到远程

我试图从本地机器上使用SSH通过VPN复制本地文件“magento.tar.gz”到远程服务器。 这是连接到我在这里用作xx.xxxx的虚拟机的内部IP。

我对SSH帐户有完整的“sudo”访问权限,所以不应该有任何问题复制。 我已经尝试了以下内容:

我已经尝试了以下(magento.tar.gz文件已经在本地根目录)

sudo scp magento.tar.gz user@xx.xxxx/var/www/ 

这要求我input我的本地密码。 之后返回cp: user@xx.xxxx/var/www: Not a directory

 sudo scp /Users/myname/magento.tar.gz user@xx.xxxx/var/www/ 

返回相同的。

我需要在任何地方包含SSH吗?

我需要通过SSH连接到网站吗?

附注:我已经设法通过SSH连接到服务器,浏览到目录,并创build一个文件夹,并使用sudo mkdir等删除它,所以我一定有权限。

首先,你需要在IP地址后面添加以指示path如下:

 scp magento.tar.gz user@xx.xxxx:/var/www 

我不认为你需要sudo scp 。 在这种情况下,它不会影响远程机器,只有本地命令。

那么如果你的user @ xx.xxxx没有对/var/www写入权限,那么你需要在2次中完成:

复制到您的主文件夹中的远程服务器( :代表您的远程主文件夹,使用:subfolder/如果需要,或者:/home/user/完整path):

 scp magento.tar.gz user@xx.xxxx: 

然后SSH和移动文件:

 ssh user@xx.xxxx sudo mv magento.tar.gz /var/www 

只是为了澄清JScoobyCed给出的答案,scp命令不能将文件复制到需要pipe理权限的目录。 但是,可以使用scp命令复制到属于远程用户的目录。

因此,要复制到需要root权限的目录,必须先使用scp命令将该文件复制到属于远程用户的目录中。 接下来,您必须使用sshlogin到远程帐户。 login后,可以使用sudo mv命令将文件移动到您select的目录。 总之,使用的命令如下:

使用scp,将文件复制到远程用户帐户的目录中,例如Documents目录:

 scp /path/to/your/local/file remoteUser@some_address:/home/remoteUser/Documents 

接下来,使用sshlogin到远程用户的帐户,然后使用sudo将文件移动到受限制的目录中:

 ssh remoteUser@some_address sudo mv /home/remoteUser/Documents/file /var/www 

注意你的文件名没有:在其中。 我发现我必须mv blah-07-08-17-02:69.txt no_colons.txt然后scp no-colons.txt server:然后不要忘记mv回到服务器上。 以防万一这是一个问题。