J'ai dû réimplémenter "vagrant ssh" parce que c'est -c
n'a pas transmis les arguments correctement. Ceci est En gros, ce qu'il fait (il pourrait y en avoir plus, mais cela fonctionne bien de cette façon)
#!/bin/sh
PORT=$(vagrant ssh-config | grep Port | grep -o '[0-9]\+')
ssh -q \
-o UserKnownHostsFile=/dev/null \
-o StrictHostKeyChecking=no \
-i ~/.vagrant.d/insecure_private_key \
vagrant@localhost \
-p $PORT \
"$@"
En une phrase (avec les remerciements de kgadek) :
ssh $(vagrant ssh-config | awk 'NR>1 {print " -o "$1"="$2}') localhost
Pour tenir compte du fait que vous avez plus d'un hôte vagrant, ceci sélectionnera l'hôte désiré, ainsi que les lignes vides de la configuration (en utilisant sed) :
HOST=name-of-my-host
ssh $(vagrant ssh-config $HOST | sed '/^[[:space:]]*$/d' | awk 'NR>1 {print " -o "$1"="$2}') localhost
0 votes
Je vois trois questions différentes, peut-être pourriez-vous développer la question puis signaler la migration. Merci.
3 votes
Par défaut, le port ssh de la VM, qui est -22, sera redirigé vers 2222 sur la machine hôte. J'ai fait un putty sur 127.0.0.1 et le port 2222 avec SSH et ça a marché !
8 votes
Si vous utilisez plus d'une boîte, le numéro de port changera automatiquement. Vous pouvez obtenir le bon numéro en exécutant
vagrant ssh-config
.