Comment copier un fichier D'une machine vagabonde vers un hôte local
Je veux copier un fichier local d'une machine vagabonde vers mon hôte local, mais je reçois un message d'erreur:
Ssh: se connecter à l'hôte 127.0.0.1 port 22: connexion refusée
[user@localhost ceil]$ scp -p 2222 vagrant@127.0.0.1:/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
J'ai aussi essayé d'utiliser using localhost
mais j'ai toujours eu la même erreur.
5 réponses
Vous devriez lire la page de manuel de scp
. La syntaxe correcte est:
scp -P 2222 vagrant@127.0.0.1:/home/vagrant/devstack/local.conf .
La majuscule P est de "port". Les minuscules sont utilisées pour préserver les temps de modification.
Une autre option est cat
les fichiers à quelque chose de local:
vagrant ssh -c "sudo cat /home/vagrant/devstack/local.conf" > local.conf
Cela devrait également fonctionner pour les fichiers qui nécessitent des autorisations root (quelque chose que le plugin SCP vagrant ne semble pas supporter).
Obtenir IdentityFile et Port en utilisant
vagrant ssh-config
scp -i IdentityFile_file -P Port vagrant@127.0.0.1:/file_dir dist_dir
par exemple,
scp -i /Users/xxxxx/tmp/vagrant/centos_6.5/.vagrant/machines/default/virtualbox/private_key -P 2200 vagrant@127.0.0.1:/tmp/xxx .
C'est un outil pratique pour toute personne entrant via Google: Vagrant SCP
Comme @ SevenJ l'a mentionné, ssh-config peut fournir toutes les informations dont vous avez besoin. Mais il est beaucoup plus facile de l'enregistrer dans un fichier et d'utiliser ce fichier, plutôt que de construire une commande scp compliquée. Par exemple:
vagrant ssh-config > config.txt
scp -F config.txt default:/path/to/file .
Ici, je suppose que votre fichier vagrant ne remplace pas le nom de la machine à partir de "default". Si c'est le cas, remplacez "default:" par ":".