SSH SCP本地文件到终端Mac Os X中的远程

Posted

技术标签:

【中文标题】SSH SCP本地文件到终端Mac Os X中的远程【英文标题】:SSH SCP Local file to Remote in Terminal Mac Os X 【发布时间】:2012-08-03 01:33:07 【问题描述】:

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

我对 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 mkdir 等删除它,所以我绝对有权限。

【问题讨论】:

【参考方案1】:

首先需要在IP地址后面加上:表示路径如下:

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

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

那么如果您的user@xx.x.x.xx 没有对/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 访问权限,所以权限应该不是问题。 谢谢!!!我必须通过 SSH 远程和密码才能找到我被带到 /home/username 的默认目录 - scp magento.tar.gz user@xx.x.x.xx:/home/username/ 成功了!【参考方案2】:

只是为了澄清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

【讨论】:

【参考方案3】:

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

【讨论】:

只要在本地名称前加上./就没有问题,比如scp ./blah-07-08-17-02:69.txt server:

以上是关于SSH SCP本地文件到终端Mac Os X中的远程的主要内容,如果未能解决你的问题,请参考以下文章

用 Mac OS X 自带的 SSH 登陆 Linux 后出现中文乱码,如何解决?

mac os x 使用scp取代sz rz

Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录

将本地文件从 Mac 复制到终端中的 ssh 会话 [关闭]

SSH 上传下载文件

使用Mac OS X 终端 SSH 登录远程LINUX服务器