![Vagrant 호스트에 SSH로 접속할 수 없는 이유는 무엇입니까? [이메일 보호됨]: 권한이 거부되었습니다(공개키)](https://rvso.com/image/785363/Vagrant%20%ED%98%B8%EC%8A%A4%ED%8A%B8%EC%97%90%20SSH%EB%A1%9C%20%EC%A0%91%EC%86%8D%ED%95%A0%20%EC%88%98%20%EC%97%86%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EC%9D%B4%EB%A9%94%EC%9D%BC%20%EB%B3%B4%ED%98%B8%EB%90%A8%5D%3A%20%EA%B6%8C%ED%95%9C%EC%9D%B4%20%EA%B1%B0%EB%B6%80%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4(%EA%B3%B5%EA%B0%9C%ED%82%A4).png)
내 프로젝트 vagrant 상태를 위해 5개의 VM을 만들었습니다.
Current machine states:
master-1 running (virtualbox)
master-2 running (virtualbox)
master-3 running (virtualbox)
node-1 running (virtualbox)
node-2 running (virtualbox)
내가 할 수있는
vagrant ssh master-1
vagrant ssh master-2
vagrant ssh master-3
방랑하는 ssh-config 쇼
vagrant ssh-config
Host master-1
HostName 127.0.0.1
User vagrant
Port 2206
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /home/miki/.vagrant.d/insecure_private_key
IdentitiesOnly yes
LogLevel FATAL
하지만
ssh [email protected]
[email protected]: Permission denied (publickey).
실패합니다.
내 id_rsa.pub를 확인했습니다.
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAACAQCZmhxzwwJJ1z/5rgoprHc31gneGY5rzFd/giE5ehZSH75WqT1hQKQ2gZUN8A3L+04oZ9H1uOUQHJBPV5mj7+FKkE+hPuTDVSUXcbYC9DlhurbmComoMh....oIQ== jovo@jovo-IdeaPad
5개의 VM 모두 서로 다른 인증 키를 가지고 있는 것을 볼 수 있습니다
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
내 호스트에서 5개 호스트 모두에 대해 SSH를 활성화하려면 어떻게 해야 합니까?
답변1
나는 이것을 따랐다그래서 게시물
ssh [email protected] -p 2222 -o LogLevel=FATAL -o Compression=yes -o DSAAuthentication=yes -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /home/miki/.vagrant.d/insecure_private_key
내 id_rsa를 추가하여 다른 솔루션도 찾았습니다.
Vagrant.configure("2") do |config|
config.ssh.insert_key = false
config.ssh.private_key_path = ['~/.vagrant.d/insecure_private_key', '~/.ssh/id_rsa']
config.vm.provision "file", source: "~/.ssh/id_rsa.pub", destination: "~/.ssh/authorized_keys"
(1..3).each do |i|
config.vm.define "master-#{i}" do |master|
master.vm.box = "ubuntu/bionic64"
end
end
(1..2).each do |i|
config.vm.define "node-#{i}" do |node|
node.vm.box = "ubuntu/bionic64"
end
end
config.vm.network "public_network", :bridge => "wlo1"
config.vm.provider "virtualbox" do |vb|
vb.memory = "3072"
vb.cpus = "3"
end
end
답변2
생성 중인 공개 키를 복사하거나 다음 명령을 사용하여 생성해야 합니다.
호스트 머신은 Linux 머신일 것으로 예상됩니다.
->ssh-keygen -t rsa -b 4096
위 명령은 다음 위치에 공개 키를 생성합니다.
/home/user/.ssh/id_rsa.pub
해당 공개 키를 복사하고 SSH를 수행하려는 VM 시스템에 붙여넣어야 합니다. 붙여넣을 경로는 다음과 같습니다.
->/home/user/.ssh/authorized_keys
모든 vm에 동일한 공개 키를 붙여넣으면 호스트가 모든 vm 시스템에 비밀번호 없이 액세스할 수 있게 됩니다.
어떤 경우에는 위 경로에authorized_keys라는 파일이 없는 경우 해당 시점에 700 권한으로 파일을 생성해야 합니다.
구성 파일에서 마지막으로 본 주요 내용은 SSH의 포트 번호를 변경했기 때문에 SSH에 연결하는 명령은 다음과 같아야 합니다.
-> SSH -p 2206[이메일 보호됨]
내가 할 수 있는 작은 일..