2021.08.21  

VagrantにSSHコマンドでログインする(パスワード認証、鍵認証)

Vagrant    

通常vagrant upコマンド実行後にvagrant sshコマンドを実行すれば、Vagrantの仮想マシンに接続できます。

しかし、場合によってはsshコマンドでvagrantに接続したくなることもあるでしょう。

この記事では、鍵認証を使用した方法とパスワード認証を使用したssh接続の方法について紹介します。

鍵認証でssh接続を行う

まずVagrantfileのあるディレクトリで仮想マシンを起動します。

vagrant up

次に以下のコマンドを実行し、vagrantの仮想マシンの接続先情報を表示します。
vagrant upコマンド実行後、Vagrantfileファイルのあるディレクトリで実行します。

vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/hogeuser/MyVagrant/centos8/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

上記の接続情報を元に、ssh コマンドで接続します。

ssh -p 2222 vagrant@127.0.0.1 -i /Users/hogeuser/MyVagrant/centos8/.vagrant/machines/default/virtualbox/private_key

パスワード認証でssh接続を行う

Vagrant仮想マシンの/etc/ssh/sshd_config の設定を変更することでパスワード認証を行うことができます。

※ パスワード認証を行うにはsshd_configPasswordAuthenticationの設定がyesとなっている必要がある。

まず、vagrantの仮想マシンへログインします。

vagrant ssh

sshで接続するユーザーのパスワードを設定します。(既にパスワードが設定されている場合は実施不要です)

sudo passwd [ユーザー名]

vi で「/etc/ssh/sshd_config」を開きます。

開いたら/の後にPasswordAuthenticationを入力すると次の行が見つかります(CentOS8)

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication no

PasswordAuthenticationyesに設定します。

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
#PermitEmptyPasswords no
#PasswordAuthentication no

escキー押下後、:wq!で設定を保存したらsshdを再起動します。

sudo systemctl restart sshd

ローカル端末に戻り、以下のようにコマンドを実行するとパスワード認証を行えるようになります。

ssh -p 2222 vagrant@127.0.0.1
vagrant@127.0.0.1's password: 
Last login: Mon Aug 16 23:23:35 2021 from 10.0.2.2
[vagrant@centos8 ~]$ 

sshコマンドで使用している接続先についてはローカル端末でvagrant ssh-config(※)を実行すると確認することができます。
Vagrantfileファイルのあるディレクトリでvagrant upコマンド実行後(実行済みであれば不要)に実行

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/hogeuser/MyVagrant/centos8/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL
コメント
現在コメントはありません。
コメントする
コメント入力

名前 (※ 必須)

メールアドレス (※ 必須 画面には表示されません)

送信