水曜手順書

前提条件
・Windowsの基本操作はできる
・さくらのクラウドのログイン情報を持っている
・さくらのクラウド上でサーバーの作成はできる
・SSH接続はできる(Teraterm/PowerShell)が、キーペア認証を使うのは初めて
・IE以外のブラウザを利用できる


1.さくらクラウドでサーバーを作成

グローバルサーバー(踏み台)

今回の環境はさくらクラウドで下記のものを構築する
・OS:Ubuntu Server 22.04.1 LTS 64bit
・ディスクサイズ:20GB
管理パスワード、ホスト名、名前は任意のものでよい。ただし、設定した管理パスワードは忘れないようにする。

ローカルサーバー

  • ディスク

  • グローバルサーバーと同じもの

  • NIC

    • スイッチに接続: 接続するスイッチを選択

  • ディスクの修正

    • IPアドレス: 192.168.93.(100+自分の学籍番号下二けた)

    • ホスト名 : グローバルとは違うもの

NIC

一度踏み台サーバーの電源を切り、NICの追加を行う

追加後、右端▼または右クリックでスイッチに接続。
その後、IPアドレスを設定する。

※今回設定するIPアドレスは「192.168.93.<学籍番号>」で行う

アドレスの固定

NICのアドレスを設定するためにnetlanの設定ファイルを追加する。

sudo vi /etc/netplan/01-netcfg.yaml
network:
  ethernets:
    eth0:
      addresses:
        - <ip address>/24
      dhcp4: 'no'
      dhcp6: 'no'
      gateway4: <default gateway>
      nameservers:
        addresses:
          - 210.188.224.10
          - 210.188.224.11
        search:
          - localdomain
    eth1:
      addresses:
        - [ローカルIP]
  renderer: networkd
  version: 2

※括弧で囲われているものは自分の環境に合わせて設定する

sudo netplan apply

SSH

鍵認証

作成手順
既存あれば飛ばしてよい
teratermで設定からSSH鍵作成をクリック
→生成をクリック
パスフレーズはログイン時、秘密鍵を使用する際に入力を求められる。一応空欄でも生成は可能。
最後に、画面下部の「公開鍵の保存」「秘密鍵の保存」をそれぞれクリックして、鍵を保存する。
※ 「id_rsa.pub」が公開鍵、「id_rsa」が秘密鍵。
保存先のフォルダとファイルを作る

mkdir .ssh
touch .ssh/authorized_keys
# 権限の設定
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
# 手動で .ssh/authorized_keysにコピペする
vi .ssh/authorized_keys

パスワード認証禁止

鍵認証を使うためパスワードによるログインを制限する

sudo vi /etc/ssh/sshd_config
# 次のように設定を変える

#PasswordAuthentication yes →PasswordAuthentication no

# 設定反映のためreload
sudo systemctl reload sshd.service


IP制限

自身のIPからsshとリモートデスクトップを許可する。
グローバルIPを使うので事前に確認くんなどで確認しておく。

# ufw起動
sudo systemctl start ufw
# 設定
sudo ufw allow from [自身のグローバルIPアドレス] to any port 22
sudo ufw allow from [自身のグローバルIP] to any port 10001 proto tcp
# 有効化
sudo ufw enable
# 確認
sudo ufw status

※確認コマンド実行後、statusがactiveになっており、自分が設定した通りになっていればよい。


ポートフォワード

ポートフォワードのために設定の変更を行う。

$ sudo vi /etc/default/ufw

# 19行目 : 変更
DEFAULT_FORWARD_POLICY="ACCEPT"

$ sudo vi /etc/sysctl.conf

# 28行目 : コメント解除
net.ipv4.ip_forward=1
# 設定リロード

$ sudo sysctl -p
$ sudo ufw reload

設定が行われているかログを確認する

sudo ufw status verbose
# 下のようになれば正常
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), allow (routed)
New profiles: skip

ポートフォワード設定を書き込む

$ sudo vi /etc/ufw/before.rules

# NAT
*nat
-F
:POSTROUTING ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]

-A PREROUTING -p tcp --dst [グローバルサーバIPアドレス] --dport 10001 -j  DNAT --to-destination [ローカルサーバー]:22

-A POSTROUTING -p tcp --dst [ローカルサーバーIP] --dport 22 -j SNAT --to-source [グローバルサーバーのスイッチ側IP]


COMMIT

再起動

sudo ufw reload

公開鍵認証

ローカルサーバーに作成済みの公開鍵2つ目を投入する

mkdir .ssh
vi .ssh/authorized_keys

chmod 700 .ssh
chmod 600 .ssh/authorized_keys

sudo vi /etc/ssh/sshd_config

#PasswordAuthentication yes →PasswordAuthentication no

sudo systemctl reload sshd.service

UFW設定

接続をsshのみ許可

sudo systemctl start ufw
sudo ufw allow from any to any port 22
sudo ufw enable


接続確認をする

いいなと思ったら応援しよう!