내 vagrant box(trusty64)에 새로운 사용자가 있고 그 사용자로 ssh를 시도하고 있습니다. vagrant
이후에 사용자 로 로그인하는 대신 vagrant up
내 사용자 이름으로 로그인하고 싶습니다.
내가 지금까지 한 일
- 내 게스트 컴퓨터에 사용자를 만들었습니다.
- 다음을 사용하여 내 호스트에 SSH 키를 만들었습니다.
ssh-keygen
- 다음을 사용하여 SSH 키를 게스트에 복사했습니다.
ssh-copy-id -p 2222 -i [email protected]
Vagrantfile의 일부는 다음과 같습니다
config.vm.box = "ubuntu/trusty64"
config.ssh.username = "shash"
config.ssh.forward_agent = true
config.ssh.private_key_path = "~/.ssh/authorized_keys"
직접 로그인하는 데 사용할 수 있지만 제공하면 다음 오류가 계속 발생합니다.ssh -p '2222' '[email protected]'
vagrant up
default: Warning: Connection timeout. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
이 문제를 해결하는 데 도움을 주시면 정말 감사하겠습니다. 감사합니다!
답변1
config.ssh.private_key_path
개인 키 파일을 가리켜야 합니다(일반적으로 ~/.ssh/id_rsa
를 실행할 때 파일 이름이 표시됨 ssh-keygen
).~ 아니다 ~/.ssh/authorized_keys
.
답변2
이를 수행하는 다른 방법은 다음을 맨 아래에 추가하는 것입니다 ~vagrant/.bashrc
.
ssh chsc
exit
SSH 키를 생성하고 설치하는 문제를 피하려면 su
대신 사용할 수 있습니다. 그러나 ssh
상자 내에서 외부 서버에 연결해야 하는 경우 Vagrant 상자 내부에서 SSH 전달 에이전트를 사용할 수 없습니다 .
sudo su chsc
exit
이러한 변경을 수행할 때 ~vagrant/.bashrc
오류가 발생하면 셸에서 빠져 나올 위험이 있습니다. vagrant
모든 것이 제대로 작동하는지 확인할 때까지 열린 터미널을 로 로그인된 상태로 유지하는 것이 좋습니다 . 문제가 발생하면 .bashrc( mv .bashrc .bashrc-bak
)의 이름을 바꾸세요.