OCIのコンピュートインスタンス作成画面でRocky Linuxが選べるようになっていたので作成しました。
作成手順はここでは割愛しますが、これまでの手順と同様に非常に数回ボタンを押すだけで簡単にデプロイできました。
早速、TeratermでSSHログインしようとしたのですが、ログインできず、再試行になってしまいました。
そういえば、OracleLinuxはデフォルトのログインユーザー名は「opc」でしたが、これが違うのかも知れないと思い調べてみるとユーザー名は「rocky」との事で速攻で解決して良かったと思ってrockyユーザーでログインを試しましたが先ほどと同様に弾かれました・・・
思い当たる原因を考えてみます。
①VPNでつないでいて22番ポートが使えない
→認証画面まで行っているのでセッションは確立しているのでネットワークは疎通している
②パスワードが間違っている
→鍵認証なのでパスワードは使っていない
③鍵がおかしい
→再度、インスタンスを構築し、SSH秘密鍵をダウンロードしてみましたがやはりダメ
→ただ、認証が通っていないので怪しい
というのを思い付き、秘密鍵に問題がありそうな気がしていろいろとググってみました。
すると、下記の記事が見つかったためWindowsにOpenSSHを入れて3072ビットの秘密鍵を作り、再度インスタンスを作成した時に作成した秘密鍵に対応する公開鍵をアップロードしてSSHアクセスはこの秘密鍵でアクセスを試みました。
・・・が、やはりダメです。
もう、rocky linuxはOCIでは上手く動かも知れない・・・と思い始めていました。
いろいろと考えた挙句、試していない事がある事に気が付きました。
そう、Teratermを最新にしていないという事です。
試していたバージョンは4.105でした。
調べてみるとこれより新しいバージョンがあるようなのでインストールしてみました。
最新は4.108とちょっとだけ数字が大きくなっています。
ソース管理もSubversionからGitに代わっているんですね。
無事に繋がりました。
結論として、SSHクライアントのバージョンが古いと繋がらない事があるという事がわかりました。
この後、再度、インスタンス作成時にOCI側で作成したSSHキーをダウンロードして接続して問題無く接続できたため、特に自分で作成する必要性がなければこれまでのLinuxと同様にOCIで作成したSSHキーをそのまま利用できます。
ここまで半日近くかかってしまったので、少しでも参考になればと思い今回の記事を書かせて頂きました。