Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

GCPにUbuntuサーバを構築 : TerminalからのSSH接続+GUI接続設定編

目次

  1. 概要
  2. Private-Key, Public-Keyを作成
  3. GCPの「VPCネットワーク > ファイアウォール ルール」にてVNC接続の許可のルールを追加
  4. GCEでUbuntuサーバを作成
  5. TerminalからGCP上のUbuntuサーバにSSHアクセス
  6. VNC Serverの設定
  7. GCP上のUbuntuにGUIでAccess

1. 概要

GCPで、Ubuntuサーバを立てたっかったのだが、意外と設定に手こずったので忘れないようにメモ書き.

2. Private-Key, Public-Keyを作成

クライアント側で、Private-Key, Public-Keyを作成

すでにPrivate-Key, Public-Keyがある人は飛ばしてもOK

クライアント端末がMac OSを想定して書いている為、Windowsの人は[Qiita] WindowsでSSHの鍵を作るを参考してください

Terminal
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

"your_email@example.com"の箇所は適宜変更してください
メールアドレス形式の書式 (<適当なアルファベット>@<適当なドメイン>)でないとGCPで登録する際にNGになります
"your_email"の箇所がユーザ名として登録されるため、ダミーemailでもOKですので、設定したいアドレスにしてください

実施例

Screen Shot 2020-02-25 at 12.43.50.png

「~/.ssh」配下に、「id_rsa」と「id_rsa.pub」ができていることを確認

Private Keyである「id_rsa」は決して誰にも渡さないでください

Terminal
ls -l ~/.ssh
実施例

Screen Shot 2020-02-25 at 12.50.54.png

「id_rsa.pub」の中身をCopy

「 | pbcopy」を使わずに、普通にCopyしてもOKです
pbcopyについては下記を参照
[Qiita] UNIXコマンドメモ:ファイル内容をクリップボードに

Terminal
cat ~/.ssh/id_rsa.pub | pbcopy

3. GCPの「VPCネットワーク > ファイアウォール ルール」にてVNC接続の許可のルールを追加

「VPCネットワーク > ファイアウォール ルール」をクリック

Screen Shot 2020-02-25 at 13.18.03.png

「ファイアウォール ルールを作成」をクリック

Screen Shot 2020-02-25 at 13.50.47.png

ファイアウォール ルールの名前を設定

なんでもいいです.
ここでは「vncserver」にしています
Screen Shot 2020-02-25 at 13.58.24.png

ファイアウォール ルールのターゲットを設定

「ネットワーク上の全てのインスタンス」を指定.
これを選ぶと全VMにおいて、これから作成するファイアウォールルールが適応されるため、VMごとにAccessを絞りたい場合には、指定されたターゲットダグを選んだ後、対象のVMと紐付けること
Screen Shot 2020-02-25 at 14.00.35.png

ファイアウォール ルールのソースIPの範囲を設定

「0.0.0.0/0」を指定.
特定のGlobal IPからのAccessに絞りたい場合には、ここを特定の値にする
Screen Shot 2020-02-25 at 14.08.03.png

ファイアウォール ルールのプロトコルを設定

VNCプロトコルのデフォルトのポート番号である「TCP : 5900 - 5906」を指定

デフォルトではTCPの5900から5906までのポート番号を使用する
参照 : [Wikipedia] Virtual Network Computing

Screen Shot 2020-02-25 at 14.15.31.png

ファイアウォール ルールの「作成」をクリック

Screen Shot 2020-02-25 at 14.16.17.png

こんな感じで作成される
Screen Shot 2020-02-25 at 14.17.26.png

4. GCEでUbuntuサーバを作成

「Compute Engine > VMインスタンス」をクリック

Screen Shot 2020-02-25 at 14.18.42.png

「インスタンスを作成」をクリック

Screen Shot 2020-02-25 at 14.20.23.png

VMインスタンスの名前を設定

好きな名前をつけてください.
ただし後で変更できないので注意です.
またgcloudコマンドを使う際に、インスタンス名が長すぎるとコマンドを打つのが大変なので、簡潔な名前を推奨します

Screen Shot 2020-02-25 at 14.38.56.png

(こだわりがあれば) リージョンやゾーンの指定

こだわりがなければ、Defaultのままで問題なしです.
ただし後で変更できないので、こだわりがある人は注意です.
Screen Shot 2020-02-25 at 16.01.33.png

マシーンタイプを設定

VNC設定の後にGUIでの操作確認をする際に、f1-micro (1 vCPU, 614 MBメモリ)だと、GUI操作が重くて大変だったので、n1-standard-4 (4 vCPU, 15 GBメモリ)を選択.

マシーンタイプは後から変更可能なので、GUIでの操作確認の際に変更してもOK
Screen Shot 2020-02-25 at 16.09.33.png

ブートディスクを設定

変更をクリック

Screen Shot 2020-02-25 at 16.10.22.png

Ubuntuを選択

Screen Shot 2020-02-25 at 16.11.10.png

好きなVersionを選択

Screen Shot 2020-02-25 at 16.12.05.png

ブートディスクとサイズを選択

各自の要件に合わせて選択.
単にこの手順の動作検証したいだけなら、10GBで十分

Screen Shot 2020-02-25 at 16.14.10.png

「選択」をクリック

Screen Shot 2020-02-25 at 16.15.08.png

「作成」をクリック

Screen Shot 2020-02-25 at 16.17.00.png

こんな感じで起動する
Screen Shot 2020-02-25 at 16.18.22.png

特に設定をしなくとも、Google Cloud Platformからは「SSH」接続をクリックすればアクセスできる
ezgif-2-1651846bfbaf.gif

VMインスタンスの停止

TerminalからのアクセスできるようにするためにPublic-Keyを設定する.
いったんVMを停止するしないと設定できないので、とりあえずVM停止

Screen Shot 2020-02-25 at 16.25.34.png

VMが停止すると、名前の右側のアイコンが緑色から灰色になります
Screen Shot 2020-02-25 at 16.29.44.png

Public-Keyの設定

対象のVMインスタンス名をクリック

Screen Shot 2020-02-25 at 16.29.44.png

「編集」をクリック

Screen Shot 2020-02-25 at 16.33.08.png

「表示して編集」をクリック

Screen Shot 2020-02-25 at 16.34.24.png

「公開SSH認証鍵」を入力

「2. Private-Key, Public-Keyを作成」の「id_rsa.pubの中身をCopy」でCopyした内容をPaste

Screen Shot 2020-02-25 at 16.35.51.png

「保存」をクリック

Screen Shot 2020-02-25 at 16.38.28.png

「起動」をクリック

Screen Shot 2020-02-25 at 16.45.32.png

下記の画像のように、外部IPが設定されるのでCopyしておく
※ セキュリティー対策のために灰色にしてブランクしていますが、普通に表示されています

5. TerminalからGCP上のUbuntuサーバにSSHアクセス

クライアント端末で、Terminalを立ち上げて、下記のコマンドを実行

<ユーザ名>:「2. Private-Key, Public-Keyを作成」において、登録したメールアドレスの@の前の文字列
<外部IP>:上記でCopyしたアドレス

Terminal
ssh <ユーザ名>@<外部IPアドレス> -i ~/.ssh/id_rsa
実行例

Screen Shot 2020-02-25 at 16.52.35.png

6. VNC Serverの設定

必要なpackageのinstallとupdate

Terminal
# ==== Upgrade system ====
sudo apt-get update
sudo apt-get upgrade -y

# ==== Install packages ====
sudo apt-get install -y gnome-shell
sudo apt-get install -y ubuntu-gnome-desktop
sudo apt-get install -y autocutsel
sudo apt-get install -y tightvncserver
sudo apt-get install -y gnome-core
sudo apt-get install -y gnome-panel
sudo apt-get install -y synaptic

touch ~/.Xresources

VNC serverの起動

Terminal
vncserver
実行例

Screen Shot 2020-02-25 at 17.17.49.png

VNC serverの設定変更

下記の設定に置き換える

~/.vnc/xstartup
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$PATH

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
autocutsel -fork
xsetroot -solid grey
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:Unity"
export XDG_MENU_PREFIX="gnome-flashback-"
unset DBUS_SESSION_BUS_ADDRESS
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check --debug &

VNC serverの停止 & 起動

上記で設定した変更を反映させるために、VNC serverを停止 & 起動する

Terminal
# VNC server停止
vncserver -kill :1
Terminal
# VNC server起動
vncserver

7. GCP上のUbuntuにGUIでAccess

クライアント端末はMacを想定して書いています.
Windowsの人は、Windows端末での操作のみ[Qiita] CentOS7にWindowsからVNCで接続する方法を参照してください.

「Finder > Go > Connect to server」をクリック

Screen Shot 2020-02-25 at 17.31.10.png

vnc://<外部IPアドレス>:5901を選択して接続

Screen Shot 2020-02-25 at 17.29.01.png

こんな感じでGUIでアクセスできました!!
Screen Shot 2020-02-25 at 17.33.24.png

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
2
Help us understand the problem. What are the problem?