2015-09-05 12 views
24

voglio copiare un file locale da una macchina Vagrant al mio host locale, ma sto ottenendo un messaggio di errore:Come copiare file da una macchina di Vagrant per host locale

ssh: connettersi a ospitare 127,0 .0.1 la porta 22: Collegamento rifiutato

[[email protected] 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 

ho anche provato ad utilizzare utilizzando localhost ma ancora ottenuto lo stesso errore.

risposta

16

Si consiglia di leggere la pagina di manuale per scp. La sintassi corretta è:

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

la maiuscola P è "porta". La minuscola viene utilizzata per preservare i tempi di modifica.

4

Questo è uno strumento utile per chi viene in via Google: Vagrant SCP

14

Get IdentityFile e Port utilizzando

vagrant ssh-config 

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

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

Un'altra opzione è cat i file a qualcosa di locale:

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

Questo dovrebbe funzionare anche per file che richiedono i permessi di root (qualcosa il plugin SCP vagabonda non sembra supportare).

2

Come @SevenJ menzionato, ssh-config può fornire tutte le informazioni necessarie. Ma è molto più facile salvarlo su un file e usare quel file, piuttosto che costruire un comando scp complicato. Es .:

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

Qui presumo che il file vagabondo non sostituisca il nome del computer da "predefinito". Se lo fa, sostituisci "default:" con ":".

Problemi correlati