ssh 인증의 문제점 :
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: bridged
==> default: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
Ctrl+C
인증 루프에서 벗어날 수 있으며 수동으로 ssh를 성공적으로 입력 할 수 있습니다.
게스트 박스에서 다음 단계를 수행했습니다.
-
에 사용
Remote Login
하도록 설정 되었습니다All Users
. -
권한이 있는
~/.ssh
디렉토리를 작성했습니다0700
. -
권한이 있는
~/.ssh/authorized_keys
파일을 작성했습니다0600
. -
이 공개 키
를 붙여 넣기~/.ssh/authorized_keys
또한 Vagrantfile 에서이 줄을 사용하여 공용 (브리지) 네트워크 대신 개인 (호스트 전용) 네트워크를 사용해 보았습니다.
config.vm.network "private_network", ip: "172.16.177.7"
동일한 출력 (제외 Adapter 2: hostonly
)을 얻었지만 수동으로 ssh를 입력 할 수 없습니다.
나는 또한 시도했다 config.vm.network "private_network", ip: "10.0.0.100"
.
나는 또한 config.ssh.password
Vagrantfile에서 설정 을 시도 했습니다. 이것은 출력 SSH auth method: password
하지만 여전히 인증되지는 않습니다.
또한 상자를 다시 만들고 위의 모든 사항을 다시 확인했습니다.
다른 사람들 이이 구성에 성공한 것처럼 보이 므로 내가 잘못하고있는 것이 있어야합니다.
나는 이 스레드를 발견 하고 GUI를 사용할 수 있지만, 그것은 도움이되지 않습니다.
답변
첫 번째 네트워크 인터페이스가 NAT인지 확인하십시오. 다른 두 번째 네트워크 인터페이스는 상자를 만들 때 원하는 모든 것이 될 수 있습니다. Google 스레드에서 설명한 것처럼 Vagrant 사용자를 잊지 마십시오.
행운을 빕니다.
답변
일반적인 정보 : 기본적으로 ssh-connect를 사용하면 간단하게 사용할 수 있습니다
사용자 : vagrant
비밀번호 :vagrant
https://www.vagrantup.com/docs/boxes/base.html#quot-vagrant-quot-user
먼저 시도해보십시오 :insecure_private_key
머신 설정에 어떤 방랑자 가 있는지 확인하십시오 .
$ 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:/Users/konst/.vagrant.d/insecure_private_key
IdentitiesOnly yes
LogLevel FATAL
http://docs.vagrantup.com/v2/cli/ssh_config.html
둘째,insecure_private_key
개인 시스템 개인 키
의 내용으로 파일의 내용을 변경하십시오.
또는 사용 :
Vagrantfile에 추가하십시오.
Vagrant.configure("2") do |config|
config.ssh.private_key_path = "~/.ssh/id_rsa"
config.ssh.forward_agent = true
end
config.ssh.private_key_path
귀하의 로컬 개인 키입니다- 개인 키는 로컬 ssh-agent에서 사용할 수 있어야합니다. 로 확인할 수 있습니다
ssh-add -L
. 목록에 없으면ssh-add ~/.ssh/id_rsa
~/.ssh/authorized_keys
Vagrant VM에 공개 키를 추가하는 것을 잊지 마십시오 . 복사하여 붙여 넣거나 ssh-copy-id 와 같은 도구를 사용하여 수행 할 수 있습니다 (사용자 :root
비밀번호 :vagrant
포트 : 2222).ssh-copy-id '-p 2222 root@127.0.0.1'
여전히 작동하지 않으면 다음을 시도하십시오.
-
insecure_private_key
에서 파일 제거c:\Users\USERNAME\.vagrant.d\insecure_private_key
-
실행
vagrant up
(방랑자가 새insecure_private_key
파일을 생성 함 )
다른 경우에는 forward_agent 를 Vagrantfile
다음 과 같이 설정하면 도움이 됩니다 .
Vagrant::Config.run do |config|
config.ssh.forward_agent = true
end
유능한:
git 설정 은 git-scm.com 과 함께 할 수 있습니다
이 프로그램을 설정하고 개인 시스템 개인 키를 생성 하면 프로필 경로에 있습니다.c:\users\USERNAME\.ssh\id_rsa.pub
추신 : 마지막으로 -Windows 10 에서 Ubuntu 를 보도록 제안하십시오.
답변
위의 어느 것도 나를 위해 일하지 않았습니다. 어쨌든 상자는 잘못된 사용자 authorised_keys 파일 에 잘못된 공개 키를 추가했습니다 .
당신은 여전히 방랑 암호 (비밀번호는 방랑)로 상자에 ssh 할 수 있다면, 즉
ssh vagrant@localhost -p 2222
그런 다음 https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub 의 공개 키 컨텐츠를 다음 명령을 사용하여 authorised_keys 파일 로 복사하십시오.
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key" > .ssh/authorized_keys
완료되면 VM을 종료하고 vagrant ssh를 다시 시도하십시오. 지금 작동합니다.
답변
vagrant 1.8.5 에서이 문제가 발생하면 github 에서이 스레드를 확인하십시오.
https://github.com/mitchellh/vagrant/issues/7610
기본적으로 권한 문제로 인해 발생하며 해결 방법은
vagrant ssh
password: vagrant
chmod 0600 ~/.ssh/authorized_keys
exit
그때
vagrant reload
참고 :이 문제는 CentOS에만 영향을 미치며 우분투는 정상적으로 작동합니다.
답변
게스트 컴퓨터 / VM에서 다음 명령을 실행하십시오.
wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R vagrant:vagrant ~/.ssh
그런 다음 방랑자를 중단하십시오. 개인 키가 제거되고 재생성됩니다.
(이 단계에서는 홈 폴더 아래에 ~ / .ssh / 및 ~ / .ssh / authorized_keys 디렉토리가 이미 있거나 이미 있다고 가정합니다.)
답변
내 경험상, 이것은 새로운 유랑 기계와 관련하여 놀랍게도 빈번한 문제였습니다. 구성 자체를 변경하는 대신이를 해결하는 가장 쉬운 방법은 클라이언트에서 필요한 ssh 키를 수동으로 만든 다음 호스트의 개인 키를 사용하는 것입니다.
- vagrant machine에 로그인하십시오 :
vagrant ssh
, 기본 비밀번호를 사용하십시오vagrant
. - ssh 키를 작성하십시오
ssh-keygen -t rsa -b 4096 -C "vagrant"
( 예 : GitHub의 관련 안내서에서 권장 ). - 공개 키 파일 (기본적으로 id_rsa.pub)의 이름을 바꾸고 이전 키를 대체하십시오
mv .ssh/id_rsa.pub .ssh/authorized_keys
. - 필요한 경우 ssh 서비스를 다시로드하십시오
sudo service ssh reload
. - 개인 키 파일 (기본적으로 id_rsa)을 호스트 시스템에 복사하십시오. 예를 들어 cat과 클립 보드
cat .ssh/id_rsa
, 페인트 및 복사를 잘 조합하여 사용 하십시오 (더 나은 방법이 존재해야합니다.). - 유랑 기계에서 로그 아웃 :
logout
. - 구성을보고 방랑자가 사용하는 현재 개인 키를 찾으십시오
vagrant ssh-config
(예 : ÌdentityFile “/[…]/private_key”참조). - 예를 들어, 현재 개인 키를 호스트 컴퓨터에서 만든 것과 같은 개인 키로
nano /[...]/private_key
바꾸고 클립 보드에서 붙여 넣습니다. ( 참고 , 그러나, 당신의 PRIVATE_KEY 프로젝트 특정 있지만 여러 방랑 기계에 의해 공유하지 않은 경우, 당신은 더 나은 다른 완벽하게 작동 기계의 균형을 위해 경로 자신을 구성하는 것이! 경로를 변경 한 줄 추가 한 간단하다config.ssh.private_key_path = "path/to/private_key"
Vagrantfile에 있습니다. ) 또한 PuPHPet 생성 머신을 사용하는 경우 개인 키를 파일에 저장할 수puphpet/files/dot/ssh/id_rsa
있으며 Vagrantfile의 ssh 구성에 자동으로 추가됩니다. - 설정 테스트 :
vagrant ssh
이제 작동합니다.
그럴 경우, 스스로를 축하하고 logout
, vagrant provision
필요한 경우 달리고 , 의미있는 임무를 수행하십시오.
여전히 문제가 발생하면 디버깅을 쉽게하기 위해 ssh 명령에 verbose 플래그를 추가하는 것이 편리 할 수 있습니다. 이중 대시 후에 그 (또는 그 문제에 대한 다른 옵션)를 전달할 수 있습니다. 예를 들어을 입력 vagrant ssh -- -v
합니다. 필요한만큼 많은 v를 자유롭게 추가하십시오. 각 v는 더 많은 정보를 제공합니다.
답변
SSH에 대해 기본적으로 VM이 루트 사용자를 사용하도록하려는 경우에도 발생할 수 있습니다.
예를 들어, Vagrantfile에서 이와 같은 구성으로 인해이 실패가 발생할 수 있습니다.
config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'
솔루션 : 해당 라인을 주석 처리하고 다시 시도하십시오!
![](http://daplus.net/wp-content/uploads/2023/04/coupang_part-e1630022808943-2.png)