Slide 1

Slide 1 text

踏み台サーバ経由で 多段接続を実施

Slide 2

Slide 2 text

従来のプライベート・サブネットにある サーバの接続方法 1. 踏み台サーバ経由で接続 ・手順が簡素 ・踏み台サーバに秘密鍵を配置するため、セキュアな接続方法ではない 2. ポートフォワーディングで接続 ・ローカルの秘密鍵を使用するので、セキュアに接続可能 ・コマンドを複数回実行する必要があり、かつ長文で複雑

Slide 3

Slide 3 text

多段接続とは? l異なるネットワークセグメントやセキュリティゾーンに存在する複数のコ ンピュータやサーバに、SSHや他のプロトコルを使用して順次接続する セキュリティ手法。 →コマンド一文のみでプライベート環境にあるサーバに接続する事が可能 l多段接続は2つ方法がある 1. ワンライナーで実行 2. ~/.ssh/configに記述

Slide 4

Slide 4 text

ワンライナーで実行 l以下のコマンドを使用 ssh -o ProxyCommand=‘ssh -i <踏み台サーバの秘密鍵のパス> -W %h:%p opc@<踏み台サーバの パブリックIPアドレス>’ -i <目的サーバの秘密鍵のパス> opc@<目的サーバのプライベートIPアドレス> l ssh -o ProxyCommand=‘ssh -i <踏み台サーバの秘密鍵のパス> -W %h:%p opc@<踏み台サーバのパブリック IPアドレス > :目的のホストに直接接続せず、指定されたプロキシコマンドを使用して中継経由で接続を確立。 l -W %h:%p:プロキシサーバを通してトンネルを確立するためのオプション。 lSCPコマンドでファイル転送を行う場合 scp -o ProxyCommand=‘ssh -i <踏み台サーバの秘密鍵のパス> -W %h:%p opc@<踏み台サーバの パブリックIPアドレス>’ –i <目的サーバの秘密鍵のパス> <転送対象のファイル> opc@<目的サーバの プライベートIPアドレス>:<転送先のパス>

Slide 5

Slide 5 text

ローカルPC 踏み台サーバ vm-tokyo 138.2.25.12 目的サーバ private 10.0.1.215 VCN(10.0.0.0/16) 秘密鍵 踏み台サーバ:~/Desktop/key/test.key 目的サーバ: ~/Desktop/key/private.key

Slide 6

Slide 6 text

~/.ssh/configに記述 l右の内容を記述 ログイン時は「ssh <ホスト名>」のみで目的 サーバに接続可能 lSCPコマンドでファイル転送を行う場 合 scp -i <目的サーバの秘密鍵のパス> <転送 対象のファイル> <目的サーバのホスト名>: <転送先のパス> ※ProxyCommandをProxyJumpに変更

Slide 7

Slide 7 text

ユースケース lワンライナーで実行 l configファイルに設定不要で接続可能 l configに書き込むより、コマンドが長く直感的に実行できない l~/.ssh/configに記述 l ログイン時にホスト名のみで可能 l 事前にconfigファイルに記述が必要 l ホスト名は重複不可で、事前にホスト名の定義を行う必要がある

Slide 8

Slide 8 text

出典 「踏み台サーバ経由の多段SSH接続をローカル端末の秘密鍵のみで実施する」 https://dev.classmethod.jp/articles/bastion-multi-stage-ssh-only-local-pem/ 「多段 ssh するなら ProxyCommand じゃなくて ProxyJump を使おう」 https://zenn.dev/kariya_mitsuru/articles/ed76b4b27ac0fc