我想将本地文件从Vagrant机器复制到我的localhost
,但收到错误消息:
ssh:connect to host 127.0.0.1
port 22
:Connection refused.
[user@localhost ceil]$ scp -p 2222 [email protected]:/home/vagrant/devstack/local.conf .
cp: cannot stat ‘2222’: No such file or directory
ssh: connect to host 127.0.0.1 port 22: Connection refused
字符串
我也试过使用localhost
,但仍然得到同样的错误。
8条答案
按热度按时间goucqfw61#
另一个选项是
cat
文件到本地的东西:字符串
这也适用于需要root权限的文件(vagrant SCP插件似乎不支持)。
4ioopgfo2#
您应该阅读
scp
的手册页。正确的语法是:字符串
CROP代表“port”。小写用于保留修改时间。
eoigrqb63#
使用以下命令获取IdentityFile和Port
字符串
scp -i IdentityFile_file -P Port [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) :/file_dir dist_dir
例如型
cnjp1d6j4#
正如@SevenJ提到的,ssh-config可以提供你需要的所有信息。但是将其保存到一个文件中并使用该文件要容易得多,而不是构造一个复杂的scp命令。例如:
字符串
这里我假设你的vagrant文件没有覆盖“default”中的机器名,如果覆盖了,用“:“替换“default:“。
pobjuy325#
另一个像丹这样的选项链接到:
字符串
如果你需要做相反的事情,
型
您可以使用
vagrant status
获取VM的名称型
在我的例子中,default是VM的名称。
2fjabf4q6#
这是一个方便的工具,任何人都可以通过谷歌:Vagrant SCP
nzk0hqpo7#
像scp或cat这样的附加工具可能不需要。Frederick Henri介绍了它here。
基本上,
cp [file] /var/www/[your vm]/.vagrant
会将文件复制到项目根目录下的.vagrant文件夹中,您可以在桌面操作系统中查看和移动该文件。mcdcgff08#
一行:
字符串
它使用进程替换从
vagrant ssh-config
创建一个临时文件,并将其与-F
ssh/scp选项一起使用。