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下配置远程Linux 服务器SSH密钥认证自动登录