Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

今年の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コワイ

以上

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした