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

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

ただいまの
回答率

87.59%

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

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 895

score 12

前提・実現したいこと

・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

 

お力添えいただけるとありがたいです。よろしくお願いします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Takumim

    2021/02/08 22: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 22: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/09 07:52

    おはようございます。

    > [vagrant@localhost ~]$
    > と表示されました。

    パスワードでアクセスできたんですね、良かったです!
    では、この方法でいったん中に入れることがわかったので、そこから authorized_keys をもとにもどしてみればよさそうです。

    ちょっと追記しますね。

    キャンセル

回答 2

+2

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

であれば、

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

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

Login ID: vagrant
Password: vagrant


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

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

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

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

$ cd /path/to/your_vm_dir
$ ls
.vagrant Vagrantfile
$ mv .vagrant/machines/default/virtualbox/private_key .vagrant/machines/default/virtualbox/private_key.bak

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

$ vagrant reload

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2021/02/08 22:22

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

    キャンセル

checkベストアンサー

+1

こんにちは。「質問への追記」のやりとりで、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を修正するか、秘密鍵と公開鍵を作り直すか、になります。

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

# MacOS側のターミナルで操作します
# Vagrantfileのあるディレクトリに移動
# Vagrantのデフォルトの秘密鍵をまだ消していなかったら、そこから公開鍵を再作成します

$ ssh-keygen -y -f .vagrant/machines/default/virtualbox/private_key
ssh-rsa 
.....

# 長い文字が出力されることを確認したら、ファイルに書き出します

$ ssh-keygen -y -f .vagrant/machines/default/virtualbox/private_key > authorized_keys.txt

# 書き出されたauthorized_keys.txtの中身を、vagrant側の~/.ssh/authorized_keys に**追加**します

$ ssh vagrant@192.168.33.10

# vagrantの中に入ったら、viで編集
# Mac側に書きだしたauthorized_keys.txtの中身を**追加**で貼り付けます
# 末尾の vagrant はなくても大丈夫

vagrant@xxx:~$ vi ~/.ssh/authorized_keys

# 貼り付けたらログアウトして、vagrant ssh してみましょう

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

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

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2021/02/09 11:32

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

    キャンセル

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

  • ただいまの回答率 87.59%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る