やりたいこと
CentOS6(ホストOS Windows10) の ssh時のログイン方法をパスワード認証方式から公開鍵認証方式に変更したい、と思いました。現在、ssh ログインには PuTTY を使用しています。
試したこと
下記のサイトを参考に設定してみました。
https://www.websec-room.com/2014/01/18/1647
キーペアの作成(PuTTY にパスワードでログインした状態で)
$ ssh-keygen -t rsa
$ cd .ssh/
$ ls // 結果、id_rsa id_rsa.pub authorized_keys
$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
公開鍵認証のログイン設定
sudo vi /etc/ssh/sshd_config
PubkeyAuthentication yes // ファイルの編集
sudo service sshd restart
exit
秘密鍵を WinSCP を使用してダウンロード
id_rsa の秘密鍵をホストOS へダウンロード
PuTTYgen による PuTTY 用秘密鍵の作成
PuTTYjp フォルダにある puttygen.exe をダブルクリックして PuTTYgen を起動
画面右下のファイルの種類を「All Files」にした状態で、
[Load] をクリックして秘密鍵(id_rsa)をロード
[Save private key] をクリックして、PuTTY 用の秘密鍵を「id_rsa.ppk」で保存
PuTTY による公開鍵認証による SSH ログイン
PuTTY を起動してホスト名とポート番号を設定
画面左側のメニューから、「接続」->「SSH」->「認証」を選択
一番下の右側にある「参照」をクリック
秘密鍵(id_rsa.ppk)がある場所を選択し、「開く」をクリック
最後に公開鍵認証でのみログインできるように設定
(つながらなくなると困るので、まだやってませんが...)
sudo vi /etc/ssh/sshd_config
PasswordAuthentication no // ファイルの編集
sudo service sshd restart
問題点
vagrant up すると、default: Warning: Authentication failure. Retrying...
と繰り返し表示され、タイムアウトになってしまいます。
けれども、PuTTY での公開鍵認証はうまくいっているようで、きちんとログインできる状態です。
調べてみると、思い当たる原因が載っているサイトが見つかりました。
https://qiita.com/megane42/items/1d8ae7444d8c1b10bbd7
vagrant のほうでも内部的に「公開鍵認証による VM への SSH 接続」を行っているとのことで、
その公開鍵を消してはいけないようです。
そういえば、キーペアの作成のときにすでに authorized_keys があったような...
作業手順を見直してみると、やっぱり mv で見事に消してしまっています。
mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys ではなく
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
と追記しなければいけなかったみたいです。あちゃー、って感じです。
最悪の場合は、一からやり直すつもりですが、
できれば、今のまま vagrant のほうの公開鍵を復元したいと思っています。
自分でも調べるつもりですが、ご教授いただければ幸いです。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。