Vagrant環境にて、vagrant up時にSSH接続する際の認証方式をパスワード認証に設定する方法を解説します。
はじめに
以前、Linux環境に接続する際の認証方式をパスワード認証に変更する方法を解説しました。
(以下の記事になります。また、パスワード認証についても簡単に説明しています)
しかし、Vagrantで作成した仮想マシン上で、毎回この作業を実施するのが面倒でした。
vagrant upコマンドの実行時にパスワード認証に変更する方法が分りましたので、
今回はそれをご紹介したいと思います。
設定方法
設定方法は簡単で、Vagrantにおける仮想マシンの設定ファイルである「vagrantfile」に以下を追記するだけです。
config.vm.provision "shell", inline: <<-SHELL sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config; sudo systemctl restart sshd; SHELL
以下のように記述することも出来ます。
config.vm.provision :shell, :inline => "sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config; sudo systemctl restart sshd;", run: "always"
これで、vagrant upコマンドの実行時にパスワード認証になっています。
以下は、参考ですが、VMware用のvagrantfileの記述例です。
Vagrant.configure("2") do |config| config.vm.box = "centos/7" config.vm.network "public_network", ip: "192.168.254.200" config.vm.provider "vmware_desktop" do |v| v.vmx["displayname"] = "VMwareTest" v.vmx["ethernet0.pcislotnumber"] = "36" v.vmx["ethernet1.pcislotnumber"] = "37" v.gui = false v.memory = 2048 v.cpus = 2 end config.vm.box_check_update = false config.ssh.private_key_path = "C:\\Users\\user\\Documents\\insecure_private_key" config.ssh.insert_key = false config.vm.provision "shell", inline: <<-SHELL sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config; sudo systemctl restart sshd; SHELL end
一応、パスワード認証で接続出来るか確認してみます。
TeraTermを起動し、ユーザー・パスワードを入力します。
以下のように、接続出来れば、パスワード認証の設定が完了となります。
記事は以上です。
コメント