Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何将文件从游荡的机器复制到本地主机_Linux_Vagrant_Scp - Fatal编程技术网

Linux 如何将文件从游荡的机器复制到本地主机

Linux 如何将文件从游荡的机器复制到本地主机,linux,vagrant,scp,Linux,Vagrant,Scp,我想将本地文件从一台流浪机器复制到我的localhost,但收到一条错误消息: ssh:连接到主机127.0.0.1端口22:连接被拒绝 我也尝试过使用localhost,但仍然出现相同的错误。您应该阅读scp的手册页面。正确的语法是: scp -P 2222 vagrant@127.0.0.1:/home/vagrant/devstack/local.conf . 大写的p代表“端口”。小写用于保留修改时间。这是一个方便的工具,任何通过谷歌进入的人都可以使用:使用 vagrant ssh-c

我想将本地文件从一台流浪机器复制到我的
localhost
,但收到一条错误消息:

ssh:连接到主机
127.0.0.1
端口
22
:连接被拒绝


我也尝试过使用
localhost
,但仍然出现相同的错误。

您应该阅读
scp
的手册页面。正确的语法是:

scp -P 2222 vagrant@127.0.0.1:/home/vagrant/devstack/local.conf .

大写的p代表“端口”。小写用于保留修改时间。

这是一个方便的工具,任何通过谷歌进入的人都可以使用:

使用

vagrant ssh-config
scp-i IdentityFile\u文件-p端口vagrant@127.0.0.1:/file_dir dist_dir

scp -i /Users/xxxxx/tmp/vagrant/centos_6.5/.vagrant/machines/default/virtualbox/private_key -P 2200  vagrant@127.0.0.1:/tmp/xxx .

另一个选项是
cat
将文件转换为本地文件:

vagrant ssh -c "sudo cat /home/vagrant/devstack/local.conf" > local.conf

这也适用于需要root权限的文件(vagrant SCP插件似乎不支持这一点)。

正如@SevenJ所提到的,ssh配置可以提供您需要的所有信息。但将其保存到文件并使用该文件比构造复杂的scp命令要容易得多。例如:

vagrant ssh-config > config.txt
scp -F config.txt default:/path/to/file .

在这里,我假设您的vagrant文件没有覆盖“default”中的机器名。如果是,则将“默认值:”替换为“:”

另一个选项,如Dan链接到:

   vagrant plugin install vagrant-scp
   vagrant scp [vm_name]:<remote_path> <local_path

其中default是我的示例中VM的名称

可能不需要额外的工具,如scp或cat。弗雷德里克·亨利报道了这件事


基本上,
cp[file]/var/www/[your vm]/.vagrant
会将文件复制到项目根目录下的.vagrant文件夹中,您可以在桌面操作系统中查看和移动该文件。

从vagrant 2.0开始,您可以使用
vagrant ssh config--host my host
来控制主机名,这是一个非常方便的解决方法,用于尝试从别人设置的vagrant box中获取文件。将文件复制到vagrant machine:scp-i.vagrant/machines/your_machine_name/virtualbox/private_key-P 2222/path/filevagrant@127.0.0.1:
   vagrant plugin install vagrant-scp
   vagrant scp [vm_name]:<remote_path> <local_path
 vagrant scp <local_path> [vm_name]:<remote_path> 
Current machine states:

default                   running (virtualbox)