LoginSignup
15
17

More than 5 years have passed since last update.

sshで一発rootログイン @GCE for ISUCON5 4ステップ!

Last updated at Posted at 2015-08-31

今年のIsucon5では、GCPを使用できるようになったらしく
我らGCPUGでは、可能な限りサポートするようになりました。
GCPUGよろしく> http://gcpug.jp/

早速GCEでの質問が来てました。

GCEのインスタンスにsshでルートログインしたーーい!!

GCEおよびGCPは、デフォルトでApps(gmail)アカウントと強烈に紐付いており、GCPへのアクセス権限のあるユーザーは自動的に各VMにログインできたりする素晴らしい機能なのであります。なのでrootユーザーでログインしたいとなると、そんなユーザAppsに居ないぞということになります。本来は超便利なgcloudコマンドでですが、謎ラッピングされているため、rootでログインとなると普通にはしにくいのではないかという予想。
起動前にユーザー作って、sshコマンドで入れば解決です。

必要なもの

大会提供の練習用のイメージ

>ここのサイトに超詳しく載ってるのでコピーする。
http://isucon.net/archives/45253058.html#5_1

ローカルのrootユーザーの鍵(下記Step1で作成

手順概要

Step1) ローカルでrootユーザーの鍵作成
Step2) GCEのVM作成時に上記鍵を登録
Step3) VM起動後にPermitRootLogin yes 変更&&再起動
Step4) ローカルからsshコマンドで鍵指定してログイン

詳細手順

Step1) ローカルで鍵作る

スクリーンショット 2015-08-31 18.05.16.png
上記環境で作成しました。

ルートになって

$sudo su -

.sshフォルダー作って入る

$ mkdir .ssh
$ cd .ssh/

鍵作る。(例はノーパスだけど、パスフレーズつけろよ絶対にだ)

ssh-keygen -d -f nopass-dsa -N ''

鍵出来たのでpubをコピーする

cat nopass-dsa.pub

Step2) VM作成時に大会提供の手順と違うことを一つする

vm_init_setting.png

VMの作成時に詳細設定>アクセスとセキュリティー の中で
SSHキーを登録できるので、Step1でコピーした公開鍵をペチョする。

おもむろに起動する。

Step3) sshd_configの設定を変えて反映する。

まだルートログイン出来ないので、GCP consoleのWebUI等で
当該VMにログインし、sshd_config を変更する。

rootでコンフィグ開く

sudo vim /etc/ssh/sshd_config

下記パラメータを変更する
変更前 PermitRootLogin no
変更後 PermitRootLogin yes

sshdを再起動して反映する

sudo service sshd restart

Step4) ローカルからrootでsshする

Step1の秘密鍵を指定して、sshコマンドを用いてログインする
デフォルトは固定IPついてないので接続先は
エフェメラルな外部IPにつなぎに行く

Cursor_と_Compute_Engine_-_test-chaos.png

sshコマンド

$ ssh -i /path/to/Step1の秘密鍵 -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no root@VMの外部IP

結果

[root@test-a2c-ic-001 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 42:01:0A:F0:1B:48  
          inet addr:10.240.27.72  Bcast:10.240.27.72  Mask:255.255.255.255
          inet6 addr: fe80::4001:aff:fef0:1b48/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1460  Metric:1
          RX packets:7668 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7419 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:972508 (949.7 KiB)  TX bytes:1409613 (1.3 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:5098 (4.9 KiB)  TX bytes:5098 (4.9 KiB)

[root@test-a2c-ic-001 ~]# 

わーい入れたーー
rm -rf / やり放題

思ったこと

  • addUserするより楽なはず

VMに入ってユーザー作って有効化して鍵作ってどうこうするより、VM作成時に鍵渡すだけなので、思ったほどめんどくさくないはず。

  • /homeにナゾのフォルダーがある

sugyanとtagomorisというフォルダーがあるのでnfsマウントされているのかとビビったがコレはゴミなので気にしないで良し。そっと消してあげてください。(これ対応中ぽい、そのうち消えてるかも)

  • PermitRootLogin yesコワイ

以上

15
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
17