「あれ、GithubにPushできない。。。??」

「サーバにSSHで入れなくなった。。。」

こんにちは(U・ω・U)

AWS事業部の深澤です。

最近は認証方法が変わったり、コンテナ普及に伴ってちょっと前では常識だったSSHキーを使う機会も少なくなったなと思います。ですが、まだまだなくてはならないバリバリ現役の技術ですね。そんな大切なSSH秘密キー(以降、SSHキー)がある日吹っ飛んだらきっとあなたは焦ることでしょう。今回はSSHキーがある日なくなってしまっても全人類が落ち着いて行動できるようにと願いを込めてこのブログを書きます。

え、なんでこんなことを書こうと思ったかって?聞かないで下さい。ちょっと疲れてたんです…。

まずは落ち着きましょう。

いきなりポエムっぽいですが、お茶でも飲んで少し落ち着きましょう。慌ててもなくなったSSHキーは帰ってきません。障害対応と一緒でトラブル対応は落ち着くことから始まると個人的に考えています。

known_hostsを確認しよう

もしOpenSSHをしようしているなら、デフォルトで通信ホストが$HOME/.ssh/known_hosts または /etc/ssh/ssh_known_hostsに保存されているはずです。これを確認することでSSHキーがなくなったことによる影響範囲を確認します。

新しいSSHキーを作成してキーを入れ替えよう

Github等のGitリポジトリであれば、キーを入れ替えるだけで大丈夫です。新しいSSHキーを作成して入れ替え作業を進めましょう。新しいSSHキーを作成する場合には、これを機にSSHキーを見直しましょう。最近、OpenSSH8.3のリリースに伴って、ssh-rsaが非推奨になる傾向があります。

サーバには別の方法でアクセスする方法を考えよう

SSHでログインしていたサーバは、そもそも入れないのでキーの入れ替えができませんね。なのでSSH以外でのログイン方法が本当にないのか考えましょう。ローカルサーバを利用されているのであればディスプレイとキーボードを接続すれば入れますし、もしAWSのEC2を利用されているならSystems ManagerのSession Managerというサービスによってサーバに入ることが可能です。

#aws #ec2 #ssh #aws systems manager #session manager

いつの日か、あなたがSSHキーを吹っ飛ばしても落ち着いて対応できる道しるべ 〜SSMの手順を添えて〜
8.30 GEEK