質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

2回答

3973閲覧

vagrantのauthorized_keysの内容を変更したい

Takumim

総合スコア12

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2021/01/23 01:51

編集2021/02/07 09:52

##前提・実現したいこと
・Vagrant環境に以前のように入れるようにしたい

Vagrant環境下でgit pushが突如できなくなってしまい、エラーメッセージから公開鍵の問題だと判断し、vagrant/.ssh/authorized_keysの内容を変更しました。

その後にVagrant環境からexitし、再度vagrant sshを入力したところ、

Permission denied (publickey,gssapi-keyex,gssapi-with-mic). ```と表示され、Vagrant環境に入ることが出来なくなりました。 なのでvagrant/.ssh/authorized_keysの内容を変更前の状態に戻し、とりあえずVagrant環境に入れる状態にしたいです。 ## 発生している問題・エラーメッセージ

vagrant@127.0.0.1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

## 補足情報(FW/ツールのバージョンなど) OS Catalina バージョン10.15.7 Vagrant 2.2.4 ## お力添えいただけるとありがたいです。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

suama

2021/02/07 14:08

「vagrant/.ssh/authorized_keysの内容を変更しました」とありますが、これは、Vagrantの中に入っている状態で変更してしまったということでしょうか? また、何を変更したかおぼえていらっしゃいますか? Vagrantの中のauthorized_keysには、ホストOS (Mac) 側のVagrant sshするための公開鍵が登録されています。ここをいじってしまうと、公開鍵認証ではアクセスできなくなってしまうかもしれません。
suama

2021/02/07 14:12

sshで入れないけれど、Vagrantは起動できる状態で、もしVagrantfileでIPアドレスを指定しているなら、そのIPアドレスを使ってパスワードでログインできるかもしれません。設定があれば載せていただけますでしょうか。 # たとえば、Vagrantfileの config.vm.network のところで # 192.168.0.10と指定していたら、 ssh vagrant@192.168.0.10 パスワードを聞かれた場合は、デフォルトの”vagrant” を入力してみてください。 もしくは、ssh root@192.168.0.10 として、パスワードは “vagrant” を入力したらどうなるでしょうか。
Takumim

2021/02/08 13:08

>「vagrant/.ssh/authorized_keysの内容を変更しました」とありますが、これは、Vagrantの中に入っている状態で変更してしまったということでしょうか? →はい、Vagrantの中に入った状態で変更してしまいました。 >また、何を変更したかおぼえていらっしゃいますか? →vi authorized_keysで ssh-rsa AAAAB3 〜 vagrant と長い記述があったのですが、別の ssh-rsa AAAAB3 〜 のコードに置き換えました。(新しい公開鍵を作成し、そのコードをコピーしauthorized_keysに貼り付けたという意味です)そのため、新しいssh-rsaのコードの最後にはvagrantという文字は入っていないです。
Takumim

2021/02/08 13:16

>sshで入れないけれど、Vagrantは起動できる状態で、もしVagrantfileでIPアドレスを指定しているなら、そのIPアドレスを使ってパスワードでログインできるかもしれません。設定があれば載せていただけますでしょうか。 →はい、 config.vm.network "private_network", ip: "192.168.33.10" と記載がありましたので、 ssh vagrant@192.168.33.10 と入力すると、 The authenticity of host '192.168.33.10 (192.168.33.10)' can't be established. ECDSA key fingerprint is SHA256:t+ 〜  Are you sure you want to continue connecting (yes/no/[fingerprint])? と表示されたのでyesと入力したところ、 Warning: Permanently added '192.168.33.10' (ECDSA) to the list of known hosts. Last login: Mon Feb 8 12:26:27 2021 [vagrant@localhost ~]$ と表示されました。
suama

2021/02/08 22:52

おはようございます。 > [vagrant@localhost ~]$ > と表示されました。 パスワードでアクセスできたんですね、良かったです! では、この方法でいったん中に入れることがわかったので、そこから authorized_keys をもとにもどしてみればよさそうです。 ちょっと追記しますね。
guest

回答2

0

仮想化ソフトは virtualbox でしょうか?

であれば、

  1. virtualbox 自体を起動する。virtualboxの画面が開きます。
  2. 該当の仮想マシンを起動する もしくは Vagrantでvagrant upしておく(エラーで止まってもOK)
  3. virtualbox の画面から、右上の「表示」ボタンを押す

virtualboxのサブウィンドウみたいな感じでターミナルが開くと思います。
そこで

Guest

1Login ID: vagrant 2Password: vagrant

で直接サーバにログインできます。

ログインできたら、下記のコマンドを実行します
(英字キーボードになっているかも、、あと、コピペもできないかもしれませんが、頑張って入力してください)

Guest

1$ mkdir -p /home/vagrant/.ssh 2$ wget --no-check-certificate https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -O - >> /home/vagrant/.ssh/authorized_keys 3$ chmod 0700 /home/vagrant/.ssh 4$ chmod 0600 /home/vagrant/.ssh/authorized_keys 5$ chown -R vagrant /home/vagrant/.ssh

ホストのPC(Macですかね)の Vagrantfileがあるディレクトリで
接続できなくなった秘密鍵をリネームして無効にします

Host

1$ cd /path/to/your_vm_dir 2$ ls 3.vagrant Vagrantfile 4$ mv .vagrant/machines/default/virtualbox/private_key .vagrant/machines/default/virtualbox/private_key.bak 5

vagrant環境を再起動してみます

Host

1$ vagrant reload

投稿2021/02/08 10:36

clickmaker

総合スコア200

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Takumim

2021/02/08 13:22

はい、仮想化ソフトはvirtualboxです。 ご教示頂いたコマンドをvirtualboxで入力し(英字キーボードでした)、ホストのPCでVagrantfileがあるディレクトリでコマンドを実行したのですが、 vagrant@127.0.0.1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic). と表示されました。
guest

0

ベストアンサー

こんにちは。「質問への追記」のやりとりで、vagrant sshではなく ssh vagrant@IP での接続が可能か質問させていただきました。

そちらの方法でひとまずログインできるようでしたので、改めて。

vagrant/.ssh/authorized_keysの内容を変更前の状態に戻し、とりあえずVagrant環境に入れる状態にしたいです。

1. ssh vagrant@ip もしくはVirtualBoxのコンソールからログイン

まずは、ssh vagrant@192.168.33.10 でログインします。
clickmakerさんが書いてくださっている通り、VirtualBoxのコンソールからのログインでも大丈夫です。
パスワードはvagrantになります。

2. authorized_keys を修正する

あとは、clickmakerさんの書いてくださった通りvagrant側のauthorized_keysを修正するか、秘密鍵と公開鍵を作り直すか、になります。

もしまだ秘密鍵を無効化していないのであれば、そこから公開鍵を再作成できると思うので、手順を書いてみますね。

bash

1 2# MacOS側のターミナルで操作します 3# Vagrantfileのあるディレクトリに移動 4# Vagrantのデフォルトの秘密鍵をまだ消していなかったら、そこから公開鍵を再作成します 5 6$ ssh-keygen -y -f .vagrant/machines/default/virtualbox/private_key 7ssh-rsa 8..... 9 10# 長い文字が出力されることを確認したら、ファイルに書き出します 11 12$ ssh-keygen -y -f .vagrant/machines/default/virtualbox/private_key > authorized_keys.txt 13 14# 書き出されたauthorized_keys.txtの中身を、vagrant側の~/.ssh/authorized_keys に**追加**します 15 16$ ssh vagrant@192.168.33.10 17 18# vagrantの中に入ったら、viで編集 19# Mac側に書きだしたauthorized_keys.txtの中身を**追加**で貼り付けます 20# 末尾の vagrant はなくても大丈夫 21 22vagrant@xxx:~$ vi ~/.ssh/authorized_keys 23 24# 貼り付けたらログアウトして、vagrant ssh してみましょう

今回の状況は、以下の記事の「 自前の公開鍵「だけ」を設置する」に該当するかなと思います。

https://qiita.com/megane42/items/1d8ae7444d8c1b10bbd7

「質問への追記」のところで、「置き換えてしまった」とありましたが、「置き換え」ではなくて「追加」であれば大丈夫だったかなと思います。

別の

ssh-rsa AAAAB3 〜
のコードに置き換えました。(新しい公開鍵を作成し、そのコードをコピーしauthorized_keysに貼り付けたという意味です)そのため、新しいssh-rsaのコードの最後にはvagrantという文字は入っていないです。

投稿2021/02/08 23:35

suama

総合スコア1997

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Takumim

2021/02/09 02:32

clickmakerさんから教えていただいたコマンドで秘密鍵を無効化してしまっていた(private_keyからprivate_key.bak)ので、再度private_key.bakからprivate_keyに名前を変更し、suamaさんからいただいたssh-keygen以下のコマンドを実行したところ、無事vagrant ssh 出来るようになりました!本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問