0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

踏み台サーバ経由でSSHして目的のサーバにアクセスする

0
Last updated at Posted at 2025-08-03

やりたいこと

  1. ローカル
  2. 踏み台サーバ(Bastion)
  3. アクセスしたいサーバ

上記の二段階SSHをconfigファイルを用いてコマンド1つでアクセスできるようにしたい。

最もシンプルなSSH接続の場合

  1. ローカルマシン
  2. アクセスしたいサーバ
    下記の何れかで目的のサーバにアクセスできる
$ ssh ユーザー名@IPアドレス
 or
$ ssh ユーザー名@ホスト名
 or
$ ssh ユーザー名@ドメイン名

2段階SSHの場合はどうするか

  1. ローカル
  2. 踏み台サーバ(Bastion)
  3. アクセスしたいサーバ
    下記のように長いコマンドで通過することが可能
$ ssh -o ProxyCommand='ssh -W %h:%p -i <BasthtionPublicKeyPath> <BastionUserName>@<BastionPublicIP>' -i <ServerPublicKeyPath> <ServerName>@<ServerPrivateIP>

長いいぃ。このコマンド毎回書くのが大変( ˆˆ; )

configファイルを使うと、シンプルなコマンドで2段階SSHできることが判明
こんな感じで

$ ssh <アクセスしたいサーバ名> 

おぉぉぉぉ!すごい!!!!!
でも

そもそもconfigファイルってなに?どうやって作成するのか
configファイルってどうやって読み込むのか

configファイルとは

通常、sshコマンドでツールごとの設定ファイルを読み込む場合は-Fのオプションを用いる
でもsshコマンドの仕様で-Fのオプションが無くても、ファイルのパスを指定しなくても設定ファイルを読み込む方法が1つだけある。
それが、configファイル。

configファイルの基本ルール

  • ファイル名が「config」であること
  • ssh直下にconfigファイルを配置すること
    • sshの仕様である、ssh直下に配置されている「config」というファイルのみ、オプションの指定がなくても読み込むという便利機能を利用する。

configファイルをssh直下に作成する

ターミナルから作成・編集する場合

~/.ssh/config
$ vim ~/.ssh/config

Finderから作成・編集する場合

  1. 隠しファイルを「⌘ + shift + .」で表示
  2. sshというフォルダ内にconfigファイルを作成

configファイルの中身を書く

基本構成

~/.ssh/config

# 踏み台サーバー(Bastion)
Host bastion-A
  HostName      123.12.1.1
  User          user-A
  IdentityFile  ~/.ssh/keyFile  #Keyが置いてあるローカルのパスを入力

# アクセスしたいサーバ
Host target-server
  HostName      12.11.1.1
  User          user-target
  IdentityFile  ~/.ssh/keyFile  #Keyが置いてあるローカルのパスを入力
  ProxyCommand ssh -W %h:%p bastion-A  #経由してくる踏み台サーバを指定する

ワイルドカード指定

また、アスタリスク(*)で定義することで、ワイルドカード指定をすることができる
例えば、Bastionも目的のサーバも全て同じkeyFileを指定する場合下記のようにすると便利
※設定の優位は セクションでの定義 > *での共通定義

Host*
Host *
  IdentityFile ~/.ssh/keyFile

他にも、あまり理解できない設定はいくつかあった

  StrictHostKeyChecking no  #強固なセキュリティーを不要とする設定?
  UserKnownHostsFile /dev/null  #アクセスしたログを残さないようにする設定?

秘密鍵のPermissionに関して

EC2にSSH接続しようとしたら、Permissionの変更を求められるケースも経験したのでメモ_φ(・_・
参考サイト:https://yuichon.com/2013/04/privatekey-permissions/

結論:勉強はかなり必要

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?