-
-
Save colindean/5213685 to your computer and use it in GitHub Desktop.
#!/bin/sh | |
OPTIONS=`vagrant ssh-config | awk -v ORS=' ' '{print "-o " $1 "=" $2}'` | |
scp ${OPTIONS} "$@" || echo "Transfer failed. Did you use 'default:' as the target?" |
#!/bin/bash | |
PORT=2222 | |
if [ ${VAGPORT} ]; then | |
PORT=${VAGPORT} | |
fi | |
VAGRANT_GEM=$(dirname `gem which vagrant`)/.. | |
VAGRANT_KEY=${VAGRANT_GEM}/keys/vagrant | |
chmod 600 ${VAGRANT_KEY} | |
ssh -i ${VAGRANT_KEY} -p ${PORT} vagrant@localhost | |
#need to test this: | |
#OPTIONS=`vagrant ssh-config | awk -v ORS=' ' '{print "-o " $1 "=" $2}'`; | |
#ssh ${OPTIONS} localhost |
scp ${OPTIONS} FILES_TO_PUSH USER@SERVER:/PLACE_TO_PUT_EM
works.
Thanks @spyderman4g63 that is the easiest solution ever.
@colindean Thanks for the script.
usage: ./vagrant-scp.sh myfile.txt default:
Thanks @spyderman4g63. the shared vagrant folder was all I needed
Thank you @spyderman4g63. It works like a charm. Most easiest solution :)
@colindean thanks for this. really useful! learn something new every day!
I added NF
to skip blank lines, not sure if would be a problem in the long run but you can avoid a trailing -o = %
... IdentitiesOnly=yes -o LogLevel=FATAL -o = %
Also works nicely with rsync:
OPTIONS=`vagrant ssh-config | awk -v ORS=' ' 'NF {print "-o " $1 "=" $2}'`
rsync -avz -e "ssh ${OPTIONS}" default:/tmp/test.txt ~/Downloads/
Thanks @geedew easiest answer I've found
Thanks @spyderman4g63 extremely easy way!
@spyderman4g63 👍 thanks!!
I get Host directive not supported as a command-line option
error.
Solution is here https://gist.github.com/geedew/11289350
OPTIONS=`vagrant ssh-config | grep -v '^Host ' | awk -v ORS=' ' '{print "-o " $1 "=" $2}'`
For those who need sudo
privilege, try $ vagrant sudo-rsync
.
I couldn't figure out how to use the scp script but I did find this answer about how to transfer files to a vagrant instance: "please note that unless you specifically want scp for some reason, the easiest way to transfer files from the host to the VM is to just put them in the same directory as the Vagrantfile - that directory is automatically mounted under /vagrant in the VM so you can copy or use them directly from the VM."