LoginSignup
1
4

More than 3 years have passed since last update.

[Vagrant] vagrant以外のユーザへ公開鍵認証でSSH接続する方法

Last updated at Posted at 2019-12-31

ホストOSからゲストOSのvagrant以外のユーザへ、公開鍵認証でSSH接続する手順を残します。

注意点

  1. 今回はホストOSからパスワード認証をせず公開鍵認証をすることが目的のため、ゲストOS側でsshd設定は変更していません。
  2. ユーザは既に作成された前提です。
  3. 手順内で、[]で囲われた箇所は適宜読み替えて設定してください。
    • ホスト名
      • 通常は 127.0.0.1 です。
    • ポート番号
      • デフォルトで 2222 に設定されています。
    • 公開鍵・秘密鍵ファイル名
      • ~/.ssh/ 下に配置されている対になったファイルの名前です。末尾 .pub のファイルが公開鍵です。

公開鍵・秘密鍵の配置

ホストOS側作業

  1. SSHの公開鍵と秘密鍵を作成する。

  2. 公開鍵をゲストOSへ転送する。

    scp -P [ポート番号] ~/.ssh/[公開鍵ファイル名] [ユーザ名]@[ホスト名]:/home/[ユーザ名]/.ssh/authorized_keys
    

ゲストOS側作業

  1. 公開鍵のアクセス権限を変更する。
   chmod 600 ~/.ssh/authorized_keys

SSH接続設定

ホストOS側作業

  1. Vagrantfileを編集。

    Vagrantfile
    config.ssh.username = "[ユーザ名]"
    
  2. 一旦ゲストOSを落とし、再度立ち上げる。

    vagrant up
    
    • mkdir -p /vagrant ができず、エラーが表示されるが問題ない(ユーザ権限がなく、共有フォルダの生成に失敗している)。
  3. ゲストOS用のSSH設定を、ホストOSのSSH設定に追加する。

    vagrant ssh-config >> ~/.ssh/config
    
  4. SSH設定をエディタでさらに編集。

    • host defaultdefault を適当な分かりやすいホスト名に変更。
    • 末尾に以下の設定を追加。
    ~/.ssh/config
    IdentityFile ~/.ssh/[秘密鍵ファイル名]
    
  5. Vagrantfileから、1で編集した行を削除もしくはコメントアウトし、ゲストOSを再起動する。

参考URL

SSH into Vagrant box as another user using key? - Stack Overflow

vagrant up時にmkdir -p /vagrantが失敗する - Qiita

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4