こんにちは、UOZUです!
今回は、さくらのクラウドでローカルIPのみを持つサーバーへのログインを簡単にしてみようと思います。
前提の構成は以下の通りです。

一般的な踏み台サーバへの接続方法
通常、ローカルIPを持つサーバーへSSHログインを行う際は、まずグローバルIPアドレスを持つサーバーにログインし、その上でさらにローカルIPで対象サーバーにログインを行う必要があります。
この場合、グローバルIP側のサーバーに秘密鍵を置く必要がありますが、ただし、踏み台サーバーに秘密鍵を置く方法は、鍵管理の面では注意が必要です。
$ ssh uozu@203.0.113.1 -i ~/.ssh/id_ed25519_web
[uozu@web ~]$ uname -n
web.uozu
[uozu@web ~]$ vi id_ed25519_db
[uozu@web ~]$ chmod 400 id_ed25519_db
[uozu@web ~]$ ssh uozu@192.168.1.2 -i id_ed25519_db
[uozu@db ~]$ uname -n
db.uozu手元のPCのみに秘密鍵を置きたい場合、sshコマンドではProxyCommandのオプションで踏み台サーバーを指定する必要があります。
$ ssh -i ~/.ssh/id_ed25519_db uozu@192.168.1.2 -o ProxyCommand='ssh uozu@203.0.113.1 -i ~/.ssh/id_ed25519_web -W %h:%p'
[uozu@db ~]$ uname -n
db.uozu~/.ssh/configへの追加と接続方法
よりシンプルで分かり易い方法として、~/.ssh/config を利用し、ProxyJump で踏み台サーバーを指定することで、ホスト名のみで踏み台サーバ経由のssh接続が出来る様になります。
$ vi ~/.ssh/config
Host web.uozu
HostName 203.0.113.1
User uozu
IdentityFile ~/.ssh/id_ed25519_web
Host db.uozu
HostName 192.168.1.2
User uozu
IdentityFile ~/.ssh/id_ed25519_db
ProxyJump web.uozu
$ chmod 600 ~/.ssh/config$ ssh db.uozu
[uozu@db ~]$ProxyCommandでも同様の接続はできますが、ProxyJumpを使うと踏み台サーバー経由の設定をより短く書くことが可能です。
さいごに
今回は、ProxyJumpを使って、ローカルIPのみを持つサーバーへ踏み台サーバー経由でSSHログインする方法を試してみました。
また、.ssh/config に踏み台サーバーと接続先サーバーの設定を記載しておけば、毎回長いSSHコマンドを入力する必要がなくなり、ssh db.uozu のような短いコマンドでログインできるようになります。
ローカルIPのみのサーバーを運用している場合や、踏み台サーバー経由のSSH接続を簡単にしたい場合は、ProxyJumpを活用してみてはいかがでしょうか。
最後までお読みいただき、ありがとうございます!