![Vagrant ホストに ssh できないのはなぜですか? [email protected]: 権限が拒否されました (公開鍵)](https://rvso.com/image/785363/Vagrant%20%E3%83%9B%E3%82%B9%E3%83%88%E3%81%AB%20ssh%20%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F%20%5Bemail%20protected%5D%3A%20%E6%A8%A9%E9%99%90%E3%81%8C%E6%8B%92%E5%90%A6%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%20(%E5%85%AC%E9%96%8B%E9%8D%B5).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
vagrant 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
私はこれに従いましたSO投稿
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[メールアドレス]
私ができることはちょっとしたこと。