SSH SCP本地文件到终端Mac OS X中的Remote


90

我正在尝试使用SSH通过VPN将本地文件'magento.tar.gz'从本地计算机复制到远程服务器。这正在连接到虚拟机的内部IP,在这里我将其用作xx.xxxx。

我对SSH帐户具有完全的“ sudo”访问权限,因此复制时应该没有任何问题。我尝试了以下方法:

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

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

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

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

返回相同。

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

我需要首先通过SSH连接到站点吗?

旁注:我已经设法通过SSH连接到服务器,浏览到该目录并创建一个文件夹,然后使用sudo mkdiretc 删除它,因此我绝对具有权限。

Answers:


202

首先,您需要:在IP地址之后添加,以指示路径如下:

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

我不认为你需要sudoscp。在这种情况下,它不影响远程计算机,仅影响本地命令。

然后,如果您的user@ xx.xxxx没有访问权限,/var/www则需要分两次进行:

复制到您的主文件夹中的远程服务器(:代表您的远程主文件夹,:subfolder/根据需要使用,或:/home/user/用于完整路径):

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

然后SSH并移动文件:

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

谢谢。我用冒号尝试了一下,但是却被拒绝了权限-我被告知我拥有完整的sudo访问权限,因此权限不应该成为问题。
詹姆斯(James)

1
谢谢!!!我必须SSH远程和pwd才能找到我被带到的默认目录是/ home / username-scp magento.tar.gz user@xx.xxxx:/ home / username /可以解决问题!
詹姆斯

19

只是为了阐明JScoobyCed给出的答案,scp命令无法将文件复制到需要管理权限的目录中。但是,可以使用scp命令复制到属于远程用户的目录。

因此,要复制到需要root特权的目录,必须首先使用scp命令将该文件复制到属于远程用户的目录。接下来,您必须使用ssh登录到远程帐户。登录后,您可以使用sudo mv命令将文件移动到您选择的目录中。简而言之,要使用的命令如下:

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

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

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

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

0

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


1
如果您只是./在本地名称之前添加,这不是问题,例如scp ./blah-07-08-17-02:69.txt server:
Anders Tornblad
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.