2019年12月13日の日記です


やっちまいました。  2019-12-13 12:20:40  その他

自分が三流プログラマーだと告白するシリーズ。


たびたび大きなミスをしでかしては日記に書いている。

懲りずにまたやっちまいました…




今回のやっちまった事例は、ssh でしか接続できないサーバーの ssh キーを壊してしまった、ということ。

つまり、サーバーに入れなくなってしまった。


自分で立てたサーバーならそういうことはしないだろうけど、ほかの人に設定してもらったサーバーだった。

AWS EC2 上の ubuntu サーバーで、ユーザー名 ubuntu でログインするようになっていた。


開発サーバーとして用意されたので、sudo bash して root で使ってください、と言われていた。



ところで、これは開発の都合で「開発サーバーを移行する」ための措置だった。

以前のサーバーも AWS EC2 上の ubuntu サーバーだったのだけど、その上に docker 環境が作ってあり、その docker に root でログインして使うことになっていた。



しかし、本番サーバーでは docker は使っておらず、環境の微妙な違いが問題になっていた。

そこで、本番と同等の環境に移行する、というのが今回の目的だった。




旧サーバーでは、git が使えた。github と連携して管理していた。

しかし、新サーバーでは git が使えなかった。使えるようにしないと開発ができない。


そこで、git が使えるように設定した。

ここまでは何も問題ない。



さらに、github に接続するため、旧サーバーから rsa 暗号鍵のファイルを持ってくる。


root のホームディレクトリ下に .ssh を作り、そこに鍵を置けばよい。


ところが、うまく github に接続できなかった。

ファイルのパーミッションを確認し、置いた箇所を確認し、あっているはずだけど…と pwd して気づいた。

置いた場所、root のホームではなく、ubuntu のホームだ。



旧サーバーでは、root でログインするので、ホームに移動すると root だった。

しかし、新サーバーで推奨された sudo bash は、bash を root 権限で起動するだけのコマンドで、ホームディレクトリは ubuntu のままだった。


そこで、root のホームディレクトリに鍵を移動する。

これで、github に接続できるようになった。




まぁ、そんな作業を昨日は行って、一通り環境構築は終わった。

で、今朝入ろうとしたら、入れないんだ。


最初は何で入れないのかわからず、管理者の人に「入れないんですけどー」とか気軽に聞いていた。

でも、そのうち自分がしでかしてしまったことに気づいた。



普通、root 権限では ssh ログインはさせない。

だから、root は ssh 鍵を持たない。


root で作業を行い、github に接続する際にも、root に ssh 鍵を持たせることに問題はない。

以前のサーバーはそうした設定で運用していた。



しかし、僕は新サーバーで、 root ディレクトリのつもりで ubuntu ディレクトリに鍵をコピーしてしまった。

ここで、ubuntu の鍵を壊してしまっているのだ。



じゃぁ、鍵が書き換わったのだから、github で使っている鍵で入れるはず…

しかし、試しても入れない。


その鍵で、root に入ろうとしたら、接続できた。

接続はできたのだけど、「root では入れないよ。ubuntu を使ってね」ってメッセージが出て切断される。


つまり、root のログインシェルが、メッセージを表示して切断するものに変えられているのだ。



先に、鍵を入れる箇所を間違えたので「移動して」と書いた。

これは状況証拠から自分がそうしたのだろう…と思っているだけで、記憶は確かではない。


しかし、移動ではなくコピーだったら、ubuntu でも入れたはずだ。

だから、無意識のうちに最悪の選択をしてしまったのだろう、と推察している。




そんなわけで、管理者の人に多大な迷惑をかけることになってしまった。


あとで、ボリュームを切り外して別のマシンに接続し、鍵を書き戻してくれるそうだ。

そうすればとりあえず使えるが、非常に面倒な操作をお願いすることになった。


とりあえず、旧サーバーがあるので開発はそちらで続けられる。

問題はないのだが、しでかしてしまったことの大きさに、申し訳ない気分でいっぱいである。



言い訳:

僕はプログラマーではあるが、サーバー技術者ではない。


ただ、なまじサーバーがわかるものだから、設定書き換えて面倒を起こしていることが度々ある。



翌日追記


自分がキーファイルを消してしまったのだろう…という想定で書いたが、復旧してくれた管理者さんによれば、キーファイルの上書きはさすがにやっていなかったらしい。


しかし、「authorized_keys の owner が root:rootでした」とのこと。ubuntu:ubuntu でないといけない。



あれぇ?

自分で何の操作をしたかちゃんと覚えていないのだが、キーファイルのコピーなどはやっていたが、authorized_keys のパーミッション変更なんてした覚えがないのだが。


もっとも、「してはならない」ことなので、やった覚えがあったらそちらの方が問題ではある。

いつの間にかやってしまったからこそ、事故なのだ。




同じテーマの日記(最近の一覧)

その他

別年同日の日記

02年 ページ更新

03年 東海道旅行終了

04年 忘年会

09年 風邪その後

10年 盛りだくさんの週末

12年 答えは重要ではない

17年 0sim


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

0001

-- follow --




- Reverse Link -