また本筋ではないところで詰まってしまった。
状況
どの辺りが悪かったのかいまいちまだわかっていないので、状況を確認。
①GCPにてカスタムイメージを作成。
②カスタムイメージからGCEインスタンスを生成。
③Google Cloud Shellでデフォルトユーザでログイン
④外部アクセス用のユーザ(wantan)作成
⑤teratermで外部アクセス用のユーザ(wantan)の鍵ペアを作成
⑥公開鍵をGCPの管理コンソールからインスタンスに登録
⑦ホストのteratermから外部アクセス用のユーザ(wantan)で鍵ペアを使用してログイン。
⇒ログインできない。
以前にインスタンスを作成した際にはカスタムイメージを使用してないとはいえ上記の手順でできたのに。。
原因と対策
原因
原因の究明に時間がかかりましたが、今回の原因はauthorized_keysが生成できていないことでした。
なぜ生成されなかったのかはいまだに不明です。
authorized_keysはSSH接続用の公開鍵情報が記載されています。
以下、ログインできないユーザは「wantan」とします。
具体的には以下のパスのファイルです。
これが存在しない場合には私と同じ原因の可能性があります。
/home/wantan/.ssh/authorized_keys
対策
対策は単純に手動で作るだけです。
※本来は公開鍵をコンソールから登録した段階で自動で生成してくれるものだとは思うのですが
・ディレクトリの作成
mkdir /home/wantan/.ssh
・ファイルの作成
ファイルさえ用意できればアップロードやファイルコピーでも問題ないです。
vim authorized_keys
・ファイルの記述
teratermで生成した公開鍵をそのままはりつけます。
貼り付けはバーを右クリックして貼り付けを選択すると貼り付けができます。
入力ができれば普通に保存する。
teratermで再度ログインを実行する。
ログインできるようになった!!
初めてやった作業はカスタムイメージを作成したところだけどその辺に何か悪いところがあったのだろうか
とにかく分からないことが多い!!!