SSH dans vagrant avec X serveur
Je suis en cours d'exécution dans des problèmes avec la configuration de la redirection X11 sur l'errance des VM.
Je suis en cours d'exécution Xming pour le serveur X et le Mastic que mon client SSH.
C'est ce que je reçois quand je lance vagrant ssh-config
:
Host default
HostName 127.0.0.1
User vagrant
Port 2200
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile C:/Users/MyName/.vagrant.d/insecure_private_key
IdentitiesOnly yes
LogLevel FATAL
ForwardAgent yes
ForwardX11 yes
Mon Mastic a X11 forwarding est activé et l'affichage X emplacement pour 0.0
.
Quand je fais echo $DISPLAY
je ne reçois aucune réponse.
Je ne sais pas ce que j'ai configuré à tort. J'ai suivi le conseils suivants dans la mise en place de mon client PuTTY. Si il y a un moyen plus simple pour configurer la machine virtuelle avec la redirection X11, s'il vous plaît, laissez-moi savoir.
Pour référence ce sont le contenu de mes Vagrantfile
.
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.ssh.forward_agent = true
config.ssh.forward_x11 = true
end
Pourriez-vous s'il vous plaît ajouter comme une réponse ci-dessous et les accepter? Les commentaires ne sont pas le meilleur endroit pour les réponses correctes.
Fait. Merci pour le tuyau!
OriginalL'auteur Matt | 2013-11-20
Vous devez vous connecter pour publier un commentaire.
J'ai eu un problème similaire, mais dans mon cas c'était un problème avec le Vagabond de la VM. Voici quelques points à vérifier:
X11Forwarding
doit être mis àyes
dans/etc/ssh/sshd_config
vagrant ssh -- -vvv -X
dans Linux, le Mastic semble aussi avoir un-v
option de ligne de commande) et de rechercher des messages intéressants.Avec mon Errance VM ce dernier a révélé le message suivant:
Après l'installation d'un package qui fournit
xauth
(xorg-xauth
,xorg-x11-xauth
ou similaire),vagrant ssh -- -X
a bien fonctionné.OriginalL'auteur m01
Installer Cygwin avec les paquets suivants pour résoudre le problème, comme spécifié dans ce site web:
Alors charger la fenêtre à l'aide
startxwin
à partir du terminal cygwin.Une remarque que j'ai découvert plus tard, c'est qu'il est préférable d'utiliser le protocole ssh dans vagrant à l'aide de la commande suivante:
vagrant -Y ssh
Que:
vagrant -X ssh
Ce dernier est effectué en mode non sécurisé comme dans ce réponse et après un certain temps.
OriginalL'auteur Matt
Utiliser "startxwin" pour exécuter le cygwin X server. L'utilisation de mastic ou de la cygwin client ssh ssh à votre invité de la machine virtuelle.
Si l'utilisation de cygwin ssh, faire "export DISPLAY=:0" avant de lancer la commande ssh (c'est à dire "vagrant ssh -- -vvv -X").
Pour putty: Run "startxwin -- -listen tcp", activer ssh-X11 forwarding dans le mastic de connexion config, mettre "X" pour "localhost:0" et définissez le chemin d'accès correct du .Xauthority fichier (parcourir, c'est probablement dans votre répertoire personnel; startxwin de sortie va vous dire où).
Peut-être de ne pas utiliser msys2 ssh (le vagabond installée par défaut de l'environnement est msys2 mais vagrant fonctionne aussi très bien sous cygwin) avec cygwin X server. (voir détails pour plus d'info sur le pourquoi)
Détails:
Si vous obtenez le message "se connecter /tmp/.X11-unix/X0: Aucun fichier ou répertoire" (sous ssh mode verbose) ou de mastic d'erreur "Mastic X11 proxy: impossible de se connecter à transmis le serveur X: Network error: Connection refused", essayez d'utiliser les sockets tcp plutôt que la valeur par défaut des sockets de domaine unix.
Lorsque vous exécutez votre Cygwin serveur X, y aller "X -listen tcp -multifenêtré" (multifenêtré est facultatif - il ouvre de nouvelles fenêtres pour chaque application).
Si l'utilisation d'openssh "ssh" à partir de la ligne de commande: Avant d'aller "vagrant ssh -- -vvv -X", d'aller "export DISPLAY=localhost:0" (pas de ":0," mais "localhost:0" de sorte qu'il utilise le protocole tcp). Je suis en cours d'exécution git bash qui utilise msys2 qui semble ne pas communiquer correctement avec mon cygwin X serveur émulé sur les sockets de domaine unix. Mais si j'utilise "vagrant ssh -- -X" sous mon cygwin invite (avec DISPLAY=:0 pour les sockets de domaine unix), il fonctionne.
Info source: http://dustwell.com/how-x-over-ssh-really-works.html
Aussi, vous pouvez ajouter "config.ssh.forward_x11 = true" à votre Vagrantfile. Je pense que ce jeux X11Forwarding dans /etc/ssh/sshd_config quand l'invité de la machine virtuelle ou "vagabond reload" est exécutée. - https://coderwall.com/p/ozhfva/run-graphical-programs-within-vagrantboxes
Mise à jour: Il n'est pas recommandé d'exécuter X sans xauth de sécurité (comme illustré ci-dessus). Il n'est pas sûr. Par exemple, les autres ordinateurs sur le même réseau peuvent se connecter à votre serveur x via tcp et de renifler de pressions sur les touches, à l'aide de xkeys. Utiliser "startxwin" au lieu de courir X directement de sorte qu'il utilise le "auth" option de XWin. De ce fait, il est difficile pour moi d'obtenir mon msys2 ssh pour rediriger X à mon cygwin X server. Le ssh journal lors de la connexion indique qu'il est impossible de trouver la commande xauth - c'est parce qu'elle n'est pas présente dans mon msys2 de l'environnement. Cygwin ssh X-redirection fonctionne toujours très bien. Putty fonctionne bien tant que le .Xauthority chemin d'accès du fichier (il est probablement juste dans votre répertoire home) dans la session putty config.
J'ai découvert le protocole tcp/unix socket de domaine problème/solution est en fait dans la cygwin faq (cette faq est très utile et a beaucoup d'info):
6.7. Les sessions X transmis par le Mastic ne peut pas se connecter. Non cygwin locaux des clients X ne peut pas se connecter.
Le serveur X utilise maintenant -nolisten tcp par défaut, ce qui augmente la sécurité du serveur X par le pas de l'ouverture d'un socket TCP/IP, seulement un local (domaine UNIX) socket. Non cygwin les applications ne peuvent pas se connecter à cette prise.
https://x.cygwin.com/docs/faq/cygwin-x-faq.html
OriginalL'auteur Curtis Yallop