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
を使用してみましたが、それでも同じエラーが発生しました。
scp
のマニュアルページをお読みください。正しい構文は次のとおりです。
scp -P 2222 [email protected]:/home/vagrant/devstack/local.conf .
大文字 P 「ポート」用です。小文字は、変更時間を保持するために使用されます。
別のオプションは、cat
ローカルなものへのファイルです:
vagrant ssh -c "Sudo cat /home/vagrant/devstack/local.conf" > local.conf
これは、ルート権限(迷惑なSCPプラグインがサポートしていないように見えるもの)を必要とするファイルでも機能するはずです。
を使用して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 .
@SevenJが述べたように、ssh-configは必要なすべての情報を提供できます。ただし、複雑なscpコマンドを作成するよりも、ファイルに保存して使用する方がはるかに簡単です。例えば。:
vagrant ssh-config > config.txt
scp -F config.txt default:/path/to/file .
ここでは、vagrantファイルが「デフォルト」のマシン名をオーバーライドしないと仮定しています。存在する場合、「default:」を「:」に置き換えます。
これは、Google経由でアクセスする人にとって便利なツールです。 Vagrant SCP