mac for bajar windows ssh virtual-machine virtualbox vagrant

windows - for - vagrant c



¿Caja de SSH a Vagrant en Windows? (21)

también tenga en cuenta: cuando aparece el mensaje de inicio de sesión como :, ingrese ''vagabundo'' como nombre de usuario (sin comillas). - Snorkpete 28 de junio de 12 a 14:14

O puede ir a Categoría-> Conexión-> Rlogin y establecer el campo ''Usuario de inicio de sesión automático'' en ''Vagabundo''.

Guarde la sesión.

Estoy usando Vagrant para iniciar una VM de VirtualBox en Windows. En otras plataformas, puedo simplemente

$ vagrant ssh

para conectarse a la VM

¿Cómo me conecto a este cuadro de Vagrant en Windows?

La forma sugerida en la documentación de Vagrant para usar PuTTy tampoco funcionó:

http://docs-v1.vagrantup.com/v1/docs/getting-started/ssh.html


  1. Instalar http://git-scm.com/download/win (viene con OpenSSH, así como grep , find , perl , sed , etc .;)

    Si tiene Vagrant instalado, abra appwiz.cpl (Agregar o quitar programas) y Repare la instalación de Vagrant. Esto hará que vagabundo se agregue a tu camino de git-bash.

  2. Abra Git Bash (a través del menú de inicio)

  3. cd ~/vagrant/mybox a su carpeta de cajas vagrant ssh y vagrant ssh

Agregue las siguientes líneas a su Vagrantfile :

Vagrant.configure(2) do |config| # ... config.ssh.private_key_path = "vagrant_rsa" config.vm.provision "shell", path: "openssh.ps1" config.vm.provision "file", source: "./vagrant_rsa.pub", destination: "~/.ssh/authorized_keys" end

donde vagrant_rsa y vagrant_rsa.pub son las claves privadas y públicas ubicadas en la carpeta actual del proyecto vagabundo (y generadas, por ejemplo, por ssh-keygen -t rsa -C "[email protected]" ) y openssh.ps1 es:

$is_64bit = [IntPtr]::size -eq 8 # setup openssh $ssh_download_url = "http://www.mls-software.com/files/setupssh-7.1p1-1.exe" if (!(Test-Path "C:/Program Files/OpenSSH/bin/ssh.exe")) { Write-Output "Downloading $ssh_download_url" (New-Object System.Net.WebClient).DownloadFile($ssh_download_url, "C:/Windows/Temp/openssh.exe") Start-Process "C:/Windows/Temp/openssh.exe" "/S /privsep=1 /password=D@rj33l1ng" -NoNewWindow -Wait } Stop-Service "OpenSSHd" -Force # ensure vagrant can log in Write-Output "Setting vagrant user file permissions" New-Item -ItemType Directory -Force -Path "C:/Users/vagrant/.ssh" C:/Windows/System32/icacls.exe "C:/Users/vagrant" /grant "vagrant:(OI)(CI)F" C:/Windows/System32/icacls.exe "C:/Program Files/OpenSSH/bin" /grant "vagrant:(OI)RX" C:/Windows/System32/icacls.exe "C:/Program Files/OpenSSH/usr/sbin" /grant "vagrant:(OI)RX" Write-Output "Setting SSH home directories" (Get-Content "C:/Program Files/OpenSSH/etc/passwd") | Foreach-Object { $_ -replace ''/home/(/w+)'', ''/cygdrive/c/Users/$1'' } | Set-Content ''C:/Program Files/OpenSSH/etc/passwd'' # Set shell to /bin/sh to return exit status $passwd_file = Get-Content ''C:/Program Files/OpenSSH/etc/passwd'' $passwd_file = $passwd_file -replace ''/bin/bash'', ''/bin/sh'' Set-Content ''C:/Program Files/OpenSSH/etc/passwd'' $passwd_file # fix opensshd to not be strict Write-Output "Setting OpenSSH to be non-strict" $sshd_config = Get-Content "C:/Program Files/OpenSSH/etc/sshd_config" $sshd_config = $sshd_config -replace ''StrictModes yes'', ''StrictModes no'' $sshd_config = $sshd_config -replace ''#PubkeyAuthentication yes'', ''PubkeyAuthentication yes'' $sshd_config = $sshd_config -replace ''#PermitUserEnvironment no'', ''PermitUserEnvironment yes'' # disable the use of DNS to speed up the time it takes to establish a connection $sshd_config = $sshd_config -replace ''#UseDNS yes'', ''UseDNS no'' # disable the login banner $sshd_config = $sshd_config -replace ''Banner /etc/banner.txt'', ''#Banner /etc/banner.txt'' # next time OpenSSH starts have it listen on th eproper port Set-Content "C:/Program Files/OpenSSH/etc/sshd_config" $sshd_config Write-Output "Removing ed25519 key as Vagrant net-ssh 2.9.1 does not support it" Remove-Item -Force -ErrorAction SilentlyContinue "C:/Program Files/OpenSSH/etc/ssh_host_ed25519_key" Remove-Item -Force -ErrorAction SilentlyContinue "C:/Program Files/OpenSSH/etc/ssh_host_ed25519_key.pub" # use c:/Windows/Temp as /tmp location Write-Output "Setting temp directory location" Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "C:/Program Files/OpenSSH/tmp" C:/Program` Files/OpenSSH/bin/junction.exe /accepteula "C:/Program Files/OpenSSH/tmp" "C:/Windows/Temp" C:/Windows/System32/icacls.exe "C:/Windows/Temp" /grant "vagrant:(OI)(CI)F" # add 64 bit environment variables missing from SSH Write-Output "Setting SSH environment" $sshenv = "TEMP=C:/Windows/Temp" if ($is_64bit) { $env_vars = "ProgramFiles(x86)=C:/Program Files (x86)", ` "ProgramW6432=C:/Program Files", ` "CommonProgramFiles(x86)=C:/Program Files (x86)/Common Files", ` "CommonProgramW6432=C:/Program Files/Common Files" $sshenv = $sshenv + "`r`n" + ($env_vars -join "`r`n") } Set-Content C:/Users/vagrant/.ssh/environment $sshenv # record the path for provisioners (without the newline) Write-Output "Recording PATH for provisioners" Set-Content C:/Windows/Temp/PATH ([byte[]][char[]] $env:PATH) -Encoding Byte # configure firewall Write-Output "Configuring firewall" netsh advfirewall firewall add rule name="SSHD" dir=in action=allow service=OpenSSHd enable=yes netsh advfirewall firewall add rule name="SSHD" dir=in action=allow program="C:/Program Files/OpenSSH/usr/sbin/sshd.exe" enable=yes netsh advfirewall firewall add rule name="ssh" dir=in action=allow protocol=TCP localport=22 Start-Service "OpenSSHd"

que es la versión simplificada de joefitzgerald / packer-windows openssh setup script .

Ahora puede vagrant ssh en el cuadro de Windows.

Para aquellos que usan vagrant-libvirt posiblemente desee reenviar algunos puertos como RDP de host a invitado. vagrant-libvirt usa ssh para reenviar puertos, por lo que necesita configurar ssh en Windows como en las instrucciones anteriores y luego podrá reenviar puertos como:

config.vm.network :forwarded_port, host: 3389, guest: 3389, id: "rdp", gateway_ports: true, host_ip: ''*''



Ahora tengo una solución mucho mejor que permite la actualización de Vagrant sin problemas. Se basa en un archivo parcheado.

La primera línea de un archivo vagrant debería ser:

load "vagrantfile_ssh" if Vagrant::Util::Platform.windows?

Y el archivo patgrabado vagrantfile_ssh (originalmente llamado ssh.rb ) debería existir en el mismo directorio que vagrantfile . Esto es elegante y funcional.

Descargue el parche vagrantfile_ssh .


Creo que una mejor respuesta a esta pregunta sería la siguiente:

https://eamann.com/tech/linux-flavored-windows/

Eric escribió un buen artículo sobre cómo convertir su computadora con Windows en un entorno Linux. Incluso con hacks para que Vim trabaje de forma nativa en cmd.

Si revisas esta guía, que básicamente te lleva a instalar git cli, y con algunos hacks, puedes abrir un símbolo del sistema y escribir vagabundo ssh en la carpeta de tu caja vagabunda y hará las cosas correctas, sin problemas. necesita configurar claves ssh, etc. Todo lo que viene con ssh y el git cli / bin.

El poder de esto es que puedes ejecutar PowerShell y obtener toda la bondad * nix. Esto realmente simplifica su entorno y ayuda a ejecutar Vagrant y otras cosas.

TL; DR Descargue Git cli y agregue git / bin a PATH. Hackear vim.bat en / bin para trabajar en Windows. Usa ssh nativamente en cmd.


Debe parchar un código Vagrant modificando solo un archivo, ssh.rb

Toda la información está aquí: https://gist.github.com/2843680

vagrant ssh ahora funcionará también en Windows, al igual que en Linux.

EDITAR : en versiones más nuevas esto se hizo innecesario. Aún debe agregar la ruta de su ssh.exe a su variable PATH :

Busque ssh.exe en su computadora, copie la ruta (es decir, C:/Program Files (x86)/Git/bin ), abra Preferencias del Sistema, encuentre la Configuración de variables de entorno , haga clic en la Variable de ruta, agregue la ruta, separando rutas existentes usando ; .


Descargar Putty: http://www.chiark.greenend.org.uk/~sgtatham/putty/

Usando putty.exe:

GUI de masilla:

HostName: 127.0.0.1 Port: 2222

Cuando se conecta (pantalla de terminal):

User: vagrant Passwd: vagrant

Antes de intentar conectarse, verifique su VM utilizando cmd.exe:

vagrant status

Si está bajo uso:

vagrant up


Estaba haciendo lo sugerido anteriormente pero cambiando la variable de entorno en la línea de comando solo con PATH =% PATH%; "C: / Archivos de programa / git / usr / bin"

Esto no funcionó. Pero cuando modifiqué la variable de entorno a través de la configuración de Windows y luego inicié un nuevo símbolo del sistema, ¡funcionó por primera vez!



La carpeta de instalación vagabunda contiene un ssh.exe que se comporta como ssh (1) en Linux (toma los mismos indicadores / argumentos).

Para ver todos los argumentos utilizados, puede ejecutar vagrant ssh-config o vagrant ssh --debug para una salida más detallada.

de Powershell:

C://HashiCorp//Vagrant//embedded//usr//bin/ssh.EXE [email protected] -p 2222 -o LogLevel=FATAL -o DSAAuthentication=yes -o Strict HostKeyChecking=no -i "C:/Users/path/to/project/.vagrant/machines/default/virtualbox/private_key"

Esto es útil en situaciones en las que el vagrant status dice que tu vm está en modo poweroff o suspended cuando estás seguro de que se está ejecutando, para forzar la conexión ssh.

Si no desea recordar / escribir el comando anterior, juste escríbalo en un archivo vagrant.ps1 para que pueda ejecutarlo desde su Powershell usando ./vagrant_ssh.ps1


La respuesta aceptada es realmente útil, pero puede suceder que en lugar de la siguiente clave:

%USERPROFILE%/.vagrant.d/insecure_private_key

una clave diferente debe convertirse al formato de la Putty:

{vagrant_machine_root}/.vagrant/machines/default/virtualbox/private_key

Donde {vagrant_machine_root} es una carpeta con el Vagrantfile de la máquina a la que queremos conectar usando Putty.

Como @ibizaman mencionó use vagrant vagrant ssh-config para verificar qué tecla usa vagabundo:

$ vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile c:/dev/test/.vagrant/machines/default/virtualbox/private_key <-- HERE IS THE KEY YOU NEED TO CONVERT TO THE PUTTY FORMAT IdentitiesOnly yes LogLevel FATAL


Otra opción usando git binaries:

  1. Instalar git: http://git-scm.com/download/win
  2. Menú de Inicio> cmd (shift + enter para ir como Administrador)
  3. set PATH=%PATH%;C:/Program Files/Git/usr/bin
  4. vagrant ssh

Espero que esto ayude :)

Solo una bonificación después de meses usando eso en Windows: use la Console lugar del terminal Win, para que siempre pueda abrir una nueva pestaña de terminal con el conjunto PATH (configúrelo en las opciones)


Otra solución aquí, pero solo para la caja virtual de Windows 10 para probar el explorador. usuario ssh: IEUser ssh pass: Passw0rd!


Personalmente, solo uso Cygwin . Lo que le permite usar muchos comandos * nix comunes en Windows. SSH es uno de ellos.


También conocí el mismo problema antes.

  1. En la carpeta homestead, use bash init.sh

  2. Si no tiene la carpeta .ssh en D:/Users/your username/ , necesita obtener un par de claves ssh-keygen -t rsa -C "you@homestead" , ssh-keygen -t rsa -C "you@homestead" .

  3. Editar Homestead.yaml (homestead /), authoriza: ~/.ssh/id_rsa.pub .

  4. keys: - ~/.ssh/id_rsa

5.

folders: - map: (share directory path in the host computer) to: /home/vagrant/Code sites: - map: homestead.app to: /home/vagrant/Code

  1. Necesitas usar la aplicación de escritorio git bash .

  2. Abra la aplicación de escritorio git bash. vagrant up

  3. vagrant ssh


Uso PuTTY para conectarme a mis cajas de Vagrant en Windows7.

Asegúrese

  • convierta el %USERPROFILE%/.vagrant.d/insecure_private_key en .ppk usando PuTTYGen
  • use la clave .ppk en su sesión PuTTY - configurada en Conexión> SSH> Auth> Archivo de clave privada
  • use el host 127.0.0.1
  • use el puerto 2222 en lugar de 22
  • puede configurar el nombre de usuario predeterminado (vagabundo) en Conexión> SSH> Auth> Clave privada para la autenticación

Yo uso el comando vagrant ssh con git ssh en Windows 7, 8.1 y Windows 10.

Para instalar solo descarga msysgit desde la página del proyecto msysgit .

Y para ejecutar ssh.exe solo incluya el bin folter a las variables de entorno de windows o instale git desde la página de descarga de Git y copie el msysgit bin folter a C:/Program Files/Git/bin .


muy simple, una vez que instale Vagrant manager y la caja virtual, intente instalar cygwin en Windows pero mientras instala cygwin, asegúrese de seleccionar el paquete SSH, paquete VIM que permitirá que su sistema inicie sesión en su máquina virtual desde cygwin luego de hacer girar su máquina vagabundo.


Windows 7 (no probado en otras versiones)

  1. Haga clic derecho en "Mi PC" y haga clic en Propiedades
  2. Haga clic en Configuración avanzada del sistema
  3. Haga clic en variables de entorno
  4. En el segundo cuadro en "Variables del sistema" desplácese hacia abajo y haga clic en la variable "Ruta" y haga clic en EDITAR
  5. Asegúrese de que la ruta esté incluida en el valor variable al agregar (un punto y coma si no está allí y) C: / Archivos de programa (x86) / Git / bin; (o lo que sea que sea la ruta a su ssh.exe)
  6. Aceptar> Aceptar> Aceptar y reiniciar WINDOWS
  7. Tendrás que ejecutar vagabundo pero después de eso vagabundo ssh debería funcionar permanentemente

Más información que podría ayudar con otras versiones ... http://www.computerhope.com/issues/ch000549.htm


Ya sea

  1. En su consola de cmd , escriba lo siguiente:

    set PATH=%PATH%;C:/Program Files (x86)/Git/bin

O

  1. Establezca permanentemente la ruta en las variables de entorno de su sistema:

    C:/Program Files (x86)/Git/bin;