1. ホーム
  2. ssh

[解決済み] Vagrant VMに自分の公開鍵を追加するにはどうしたらいいですか?

2023-02-08 21:55:26

質問

VagrantのVMにsshキーを追加する際に問題が発生しました。基本的に私がここで持っているセットアップは問題なく動作します。VMが作成されると、私は以下の方法でアクセスできます。 vagrant ssh ユーザ "vagrant" が存在し、そのユーザの ssh 鍵が 内にあります。 authorized_keys ファイルにあります。

私が今やりたいことは、これらの VM に ssh または scp . したがって、私の公開鍵を id_rsa.pub に追加するだけです。 authorized_keys - でやるのと同じように ssh-copy-id .

セットアップ中にVagrantに私の公開鍵が含まれるように伝える方法はありますか?そうでない場合(ググった結果によるとそうなりそうです)、vagrantのセットアップ中に私の公開鍵を簡単に追加する方法はありますか?

どのように解決するのですか?

目的の公開鍵をコピーすることは、正真正銘の プロビジョニング フェーズに該当します。正確な答えは、あなたがどのようなプロビジョニングを使いたいか (シェル、Chef、Puppet など) に依存します。最も簡単なのは file プロビジョナーで、以下のようなものです。

config.vm.provision "file", source: "~/.ssh/id_rsa.pub", destination: "~/.ssh/me.pub"

さて、実際にはauthorized_keysに追記する必要があります。シェルプロビジョナーを使って、このようにします。

Vagrant.configure(2) do |config|
  # ... other config
  config.vm.provision "shell", inline: <<-SHELL
    cat /home/vagrant/.ssh/me.pub >> /home/vagrant/.ssh/authorized_keys
  SHELL
  # ... other config
end

また、真のプロビジョナとして、例えば パペット . たとえば PuppetによるSSH認証キーの管理 .