Windows에서 SSH에서 Vagrant 박스로?
Vagrant를 사용하여 윈도우즈에서 VirtualBox VM을 시작하고 있습니다.다른 플랫폼에서는 다음과 같이
$ vagrant ssh
VM에 연결합니다.
창에서 이 Vagrant 상자에 연결하려면 어떻게 해야 합니까?
Vagrant 설명서에서 제안한 Pu 사용 방법TTy도 작동하지 않았습니다.
http://docs-v1.vagrantup.com/v1/docs/getting-started/ssh.html
Windows 7에서 PuTTY를 사용하여 Vagrant 박스에 연결합니다.
잘 부탁드립니다!
- 을변니다합을 합니다.
%USERPROFILE%\.vagrant.d\insecure_private_keyPuTTYGen을 사용하여 .ppk로 이동 - PuTTY 세션에서 .ppk 키 사용 - Connection > SSH > Auth > 개인 키 파일에서 구성됨
- 호스트를 사용합니다.
127.0.0.1 - 22 대신 2222 포트 사용
- Connection > SSH > Auth > Private Key에서 인증을 위한 기본 사용자 이름(부랑자)을 설정할 수 있습니다.
하나의 파일만 수정하여 일부 Vagrant 코드를 패치해야 합니다.ssh.rb.
모든 정보는 다음과 같습니다. https://gist.github.com/2843680
vagrant ssh이제 Linux에서와 마찬가지로 Windows에서도 작동합니다.
편집: 최신 버전에서는 이 작업이 필요하지 않게 되었습니다.에 대한 경로를 변수에 추가해야 합니다.
컴퓨터에서 ssh.exe를 검색하고 경로(즉, 경로)를 복사합니다.C:\Program Files (x86)\Git\bin), 시스템 기본 설정을 열고 환경 변수 설정을 찾은 다음 경로 변수를 클릭하고 경로를 추가하고 기존 경로를 분리합니다.;.
git 바이너리를 사용하는 다른 옵션:
- 설치 git: http://git-scm.com/download/win
- 시작 메뉴 > cmd (shift+를 입력하여 관리자로 이동)
set PATH=%PATH%;C:\Program Files\Git\usr\binvagrant ssh
Windows에서 몇 달 후에 사용한 보너스: Win 터미널 대신 콘솔을 사용하여 항상 PATH가 설정된 새 터미널 탭을 열 수 있습니다(옵션에서 구성).
퍼티 다운로드: http://www.chiark.greenend.org.uk/ ~sgtatham/putty/
퍼티 사용.exe:
퍼티 GUI:
HostName: 127.0.0.1
Port: 2222
연결할 때(터미널 화면):
User: vagrant
Passwd: vagrant
연결을 시도하기 전에 cmd를 사용하여 VM을 확인합니다.exe:
vagrant status
다운된 경우 다음을 사용
vagrant up
승인된 답변은 매우 유용하지만 다음 키 대신 사용할 수 있습니다.
%USERPROFILE%\.vagrant.d\insecure_private_key
다른 키를 Putty 형식으로 변환해야 합니다.
{vagrant_machine_root}/.vagrant/machines/default/virtualbox/private_key
에▁where디{vagrant_machine_root}는 의폴니다가 입니다.VagrantfilePutty를 사용하여 연결하려는 기계의.
@@ibizaman ▁@▁as이듯했급ib언▁use▁@를 사용합니다.vagrant ssh-config부랑자가 사용하는 키 확인하기
$ 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
이제 다음 플러그인을 사용하여 퍼티를 사용하여 연결할 수도 있습니다.
https://github.com/nickryand/vagrant-multi-putty
그냥 실행
vagrant 플러그인 설치 vagrant-multi-putty
그리고 퍼티를 확인하세요.exe와 puttygen.exe는 당신의 경로에 있습니다.
그러면 당신은 사용할 수 있을 것입니다.
부랑자의 퍼티
위에서 언급한 실행 파일은 다음에서 사용할 수 있습니다.
http://www.chiark.greenend.org.uk/ ~sgtatham/putty/message.message
어느 하나
의 신의에서.
cmd합니다.set PATH=%PATH%;C:\Program Files (x86)\Git\bin
OR
시스템의 환경 변수에 경로를 영구적으로 설정합니다.
C:\Program Files (x86)\Git\bin;
기본적으로 Cygwin을 제거한 Windows용 OpenSSH 패키지가 있습니다.msi-Installer가 있으며 (경로를 설정한 후) "vsagrant ssh"와 함께 작동합니다.
http://sourceforge.net/projects/opensshwindows/ ?source= 디렉토리
이제 Vagrant 업그레이드를 원활하게 수행할 수 있는 훨씬 더 나은 솔루션을 갖게 되었습니다.패치가 적용된 파일을 기반으로 합니다.
부랑자 파일의 첫 줄은 다음과 같아야 합니다.
load "vagrantfile_ssh" if Vagrant::Util::Platform.windows?
패치가 적용된 vagrantfile_ssh 파일(원래 이름은 ssh.rb)은 vagrantfile과 동일한 디렉토리에 있어야 합니다.이것은 우아하면서도 기능적입니다.
패치가 적용된 vagrantfile_ssh를 다운로드합니다.
Git Bash 설치(OpenSSH와 함께 제공됨)
grep,find,perl,sed계속;)설치한 Vagrant를 .
appwiz.cpl(일명 프로그램 추가/제거) 및 Vagrant 설치.이렇게 하면 부랑자가 깃배쉬 경로에 추가됩니다.Git Bash 열기(시작 메뉴를 통해)
cd ~/vagrant/mybox와 당의부상폴더로의자랑으로.vagrant ssh
위에서 제안한 대로 수행했지만 명령줄에서 PATH=%PATH%;"C:\Program files\git\usr\bin"으로만 환경 변수를 변경했습니다.
이것은 작동하지 않았습니다.하지만 Windows Settings를 통해 환경 변수를 수정하고 새 명령 프롬프트를 시작했을 때 처음으로 작동했습니다!
개인적으로, 저는 그냥 Cygwin을 사용합니다.따라서 Windows에서 일반적인 *nix 명령을 많이 사용할 수 있습니다.SSH는 그들 중 하나입니다.
Windows 7(다른 버전에서는 테스트되지 않음)
- "내 컴퓨터"를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
- 고급 시스템 설정 클릭
- 환경 변수 클릭
- 시스템 변수 아래의 두 번째 상자에서 아래로 스크롤하여 변수 "경로"를 클릭하고 편집을 클릭합니다.
- 경로가 변수 값에 포함되어 있는지 확인합니다(있는 경우 세미콜론 및 C:\Program Files(x86)\Git\bin;(또는 ssh.exe에 대한 경로와 동일).
- OK > OK > OK and Restart WINDOWS
- 당신은 부랑자를 실행해야 하지만 그 후에 부랑자 ssh는 영구적으로 작동할 것입니다.
다른 버전에 도움이 될 수 있는 추가 정보...http://www.computerhope.com/issues/ch000549.htm
Vagrant Manager와 virtual box를 설치한 후에는 윈도우즈에 Cygwin을 설치해 보십시오. 그러나 Cygwin을 설치하는 동안에는 시스템이 Vagrant를 통해 시스템을 회전시킨 후 Cygwin에서 VM에 로그인할 수 있는 SSH 패키지, VIM 패키지를 선택해야 합니다.
부랑 설치 폴더에는 Linux에서 ssh(1)처럼 작동하는 ssh.exe가 포함되어 있습니다(같은 플래그/인수 사용).
사용된 모든 인수를 보려면 다음을 실행합니다.vagrant ssh-config또는vagrant ssh --debug더 자세한 출력을 위해.
Powershell에서:
C:\\HashiCorp\\Vagrant\\embedded\\usr\\bin/ssh.EXE ubuntu@127.0.0.1 -p 2222 -o LogLevel=FATAL -o DSAAuthentication=yes -o Strict
HostKeyChecking=no -i "C:/Users/path/to/project/.vagrant/machines/default/virtualbox/private_key"
이는 다음과 같은 상황에서 유용합니다.vagrant statusVM이 다음 위치에 있다고 말합니다.poweroff또는suspended모드는 실제로 실행 중이며 SSH 연결을 강제로 적용합니다.
위의 명령어를 기억하거나 입력하지 않으려면 다음과 같이 입력합니다.vagrant.ps1다음을 사용하여 파워셸에서 실행할 수 있는 파일.\vagrant_ssh.ps1
윈도우용 에뮬레이터 터미널 cmder를 사용할 수 있습니다.
아래의 설치 단계를 따릅니다.
- cmder.net 에 액세스합니다.
- Download Full;을 클릭합니다.
- 압축 풀기
- (선택사항) 자신의 실행 파일을 PATH에 주입할 bin 폴더에 배치합니다.
- Cmder 실행(Cmder.exe)

Windows의 터미널 cmder
이제 VM vagrant 설정에 필요한 명령을 실행합니다. 연결에 필요한 명령은 vagrant ssh만 실행합니다. Watch cmder는 ssh 클라이언트를 내장합니다.
이것이 도움이 되길 바랍니다.
참고: login as: 프롬프트가 나타나면 사용자 이름으로 'vagrant'를 입력합니다(따옴표 없이).스노클펫 2012년 6월 28일 14시 14분
또는 카테고리->연결->Rlogin으로 이동하여 '자동 로그인 사용자 이름' 필드를 'Vagrant'로 설정할 수 있습니다.
세션을 저장합니다.
사용합니다vagrant ssh와의 지휘권.git ssh윈도우즈 7, 8.1 및 윈도우즈 10에서 사용할 수 있습니다.
설치하려면 msysgit 프로젝트 페이지에서 msysgit만 다운로드합니다.
그리고 달리기ssh.exe다음만 포함합니다.bin folterWindows 환경 변수로 이동하거나 Git Download 페이지에서 Git을 설치하고 복사합니다.msysgit bin folter로.C:\Program Files\Git\bin.
다음 행을 에 추가합니다.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
어디에vagrant_rsa그리고.vagrant_rsa.pub현재 부랑자 프로젝트 폴더에 위치한 개인 키 및 공용 키입니다(예: 에 의해 생성됨).ssh-keygen -t rsa -C "your@email.here"및 ) 및openssh.ps1다음과 같습니다.
$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"
이것은 joefitzerald/packer-windows opensh 설정 스크립트의 단순화된 버전입니다.
이제 할 수 있습니다.vagrant sshWindows 상자로 이동합니다.
vagrant-libvirt를 사용하는 경우 RDP와 같은 일부 포트를 호스트에서 게스트로 전달할 수 있습니다.vagrant-libvirt는 포트 포워딩에 ssh를 사용하므로 위의 지침과 같이 Windows에서 ssh를 설정해야 다음과 같은 포트를 포워딩할 수 있습니다.
config.vm.network :forwarded_port, host: 3389, guest: 3389, id: "rdp", gateway_ports: true, host_ip: '*'
저도 전에 같은 문제를 만난 적이 있습니다.
홈스테드 폴더에서 다음을 사용합니다.
bash init.sh..ssh 파일에 .
D:/Users/your username/키 SSH 키를 .ssh-keygen -t rsa -C "you@homestead".Homestead Homestead.yaml(homestead/)을합니다.
authoriza: ~/.ssh/id_rsa.pub.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
당신은 gitbash 데스크톱 앱을 사용해야 합니다.
app.gitbash 파일을 .
vagrant upvagrant ssh
탐색기를 테스트하기 위한 윈도우즈 10의 가상 상자에 대한 다른 솔루션입니다. ssh 사용자: IEUserssh 패스:패스 w0rd!
PuTTY의 좋은 대안은 Minty 터미널 에뮬레이터입니다.PuTTY보다 구성 가능한 옵션이 더 많습니다.
이 질문에 대한 더 나은 대답은 다음과 같습니다.
https://eamann.com/tech/linux-flavored-windows/
에릭은 당신의 윈도우 컴퓨터를 리눅스 환경으로 바꾸는 방법에 대해 좋은 기사를 썼습니다.Vim이 cmd에서 기본적으로 작업할 수 있도록 해킹을 하더라도 말입니다.
기본적으로 gitcli를 설치할 수 있는 이 가이드를 실행하면 일부 해킹을 통해 명령 프롬프트를 표시하고 부랑자 상자의 폴더에 있는 동안 부랑자 ssh를 입력할 수 있습니다. 그러면 SSH 키 등을 구성할 필요 없이 올바른 작업을 수행할 수 있습니다.ssh와 git cli /bin과 함께 제공되는 모든 것.
이것의 힘은 실제로 파워셸을 실행하면서도 *nix good를 모두 얻을 수 있다는 것입니다.이를 통해 환경을 간소화하고 Vagrant 및 기타 작업을 실행할 수 있습니다.
TL;DR Gitcli 다운로드 및 Git/bin을 PATH에 추가합니다./bin에서 vim.bat을 해킹하여 창 작업을 수행합니다.cmd에서 기본적으로 ssh를 사용합니다.
언급URL : https://stackoverflow.com/questions/9885108/ssh-to-vagrant-box-in-windows
'programing' 카테고리의 다른 글
| MongoDB 복제 세트에서 기본 DB 서버 IP를 아는 방법은 무엇입니까? (0) | 2023.05.02 |
|---|---|
| 각도를 사용하여 새 탭에서 링크를 여는 방법은 무엇입니까? (0) | 2023.05.02 |
| UICollectionView 셀을 수평으로 중앙에 배치하는 방법은 무엇입니까? (0) | 2023.04.27 |
| MVVM 템플릿의 좋은 예 (0) | 2023.04.27 |
| 등호(=) 대맘에 들다 (0) | 2023.04.27 |