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)