web-dev-qa-db-ja.com

Vagrantマシンからローカルホストにファイルをコピーする方法

Vagrantマシンからローカルホストにローカルファイルをコピーしたいのですが、エラーメッセージが表示されます。

ssh:ホスト127.0.0.1ポート22への接続:接続は拒否されました

[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を使用してみましたが、それでも同じエラーが発生しました。

30
geeks

scpのマニュアルページをお読みください。正しい構文は次のとおりです。

scp -P 2222 [email protected]:/home/vagrant/devstack/local.conf .

大文字 P 「ポート」用です。小文字は、変更時間を保持するために使用されます。

25
Jakuje

別のオプションは、catローカルなものへのファイルです:

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

これは、ルート権限(迷惑なSCPプラグインがサポートしていないように見えるもの)を必要とするファイルでも機能するはずです。

44
Jace Browning

を使用してIdentityFileとポートを取得する

vagrant ssh-config

scp -i IdentityFile_file -P Port [email protected]:/file_dir dist_dir例.

scp -i /Users/xxxxx/tmp/vagrant/centos_6.5/.vagrant/machines/default/virtualbox/private_key -P 2200  [email protected]:/tmp/xxx .
20
SevenJ

@SevenJが述べたように、ssh-configは必要なすべての情報を提供できます。ただし、複雑なscpコマンドを作成するよりも、ファイルに保存して使用する方がはるかに簡単です。例えば。:

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

ここでは、vagrantファイルが「デフォルト」のマシン名をオーバーライドしないと仮定しています。存在する場合、「default:」を「:」に置き換えます。

5
Andy Lowry

これは、Google経由でアクセスする人にとって便利なツールです。 Vagrant SCP

5
Dan