みちくさを楽しむ

IT関係の雑多な内容の日記

さくらのクラウドでクローンしたubuntuサーバーにsshできないときの解決法

 

isuconの申し込みのときにもらったさくらのクラウドのクーポンが2万円分余っていたのでせっかくならちゃんと使わせていただこうと思い以下の記事を参考にサーバを構築しました。

ISUCON過去問題の環境を「さくらのクラウド」で構築する | さくらのナレッジ

 

サーバーを1台構築するところまではよかったのですが、cloud-initで環境を構築するのに結構時間がかかったので、もう一台作成しようと思ったときにサーバーのコピーで構築してみました。

 

しかし、新たに構築したサーバではsshが上手く行かなかったので、ネットの記事などを参考に設定しました。

上手く行かない原因は、元のサーバーの設定を完全にコピーしているため、ipアドレスの設定などが上手く言っていないことでしたがネットにある記事はcentosを対象にしたものばかりでubuntu対応のものはなかったのでメモとしてまとめておきます。

(参考)CentOsの場合の解決法

tsukarooohi.com

 

まず、必要な条件としてコピー元のサーバーでパスワードログインでき、かつsudo権限のあるユーザーを作成する必要があります。

isuconのcloud-initを利用している場合は自動で

ユーザー名:isucon

パスワード:isucon

のユーザーが作成されるので大丈夫です。

次にサーバーのコピーが終わったら、web-uiのサーバの欄にあるコンソールというところから先ほどのisuconユーザーで新規にコピーで作ったサーバーにログインします。

 

まずは、端末のipアドレスを設定します。(ipアドレスは人によって違います。)

sudo ip a add  a.a.a.a/24 dev ens3

次にsudo  ip link set ens3 up

次にデフォルトゲートウェイを設定します。(ゲートウェイのアドレスも違います。)

sudo ip route add defalut via a.a.a.1

以上でつながるようになりました!他の人も書いていましたが、AWSなどではクローンするだけでつながるのでその点はすこし不満ですが、ただで使わせていただいているのでそれだけで大変ありがたいです!

(追記)

この方法だと端末を再起動したときに、再び設定する必要があります。

centosの場合は、設定ファイルに書いていたので永続化されますが、ubuntuの場合はip コマンドで設定しただけでは永続化されません。

試してないですが、/etc/netplan 以下に新規ファイルを作成したら永続化されると思います。(50-cloud-init.yamlは編集してはいけません。)

 

qiita.com

qiita.com

・疑問点

通常のサーバーだとdhcpIPアドレスを設定しているみたいですが、ここのファイルにかかれているmacaddressとens3に設定されているmacaddressがコピー先のサーバでは異なるために上手く行かないのかな?今度暇なときに実験してみようかな。