configの記述がキモ。
ポートフォワードは考えなくてもよいし、別途sshプロセスを立ち上げる必要もない。
IntelliJ IDEAに限らず普通にコマンドからsshする際にも有効だし、CyberduckでもWinSCPでもBitviseでもなんでも応用できる。
~/.ssh/config
Windowsの場合は%USERPROFILE%\.ssh\config
。
以下のように記述する。
# 踏み台への接続設定 ※自端末から見たホスト名やsshオプションを記述する。
Host fumidai
HostName fumidai.example.com
Port 22
User fumidaiuser1
IdentityFile D:\Users\user01\.ssh\id_rsa
# 踏み台からサーバ本体への接続設定 ※踏み台から見たホスト名やsshオプションなどを記述する。
Host server01
HostName server01.internal
Port 22
User serveruser1
ProxyCommand ssh -W %h:%p fumidai
ProxyCommandが重要。
これにより、単にssh server01
とコマンドを打つだけで踏み台を経由してくれる。
IntelliJ IDEAの設定
configに書いたHostの「server01」に接続するということを書いていく。
以下のような具合。
Tools → Deployment → Browse Remote Host
・Type: SFTP
・SSH Configuration
・Host: server01
【参考サイト】

ProxyCommandを使って踏み台(Bastion)経由で直接ssh/scpする | DevelopersIO
自分の作業環境の作り直しをしているのですが、 たまに理解が怪しくなるので、確認ついでにここに吐き出しておこうと思います。 背景 「リモート環境にあるホストAにsshあるいはscpするためには、 踏み台(Bastion) …

2段のサーバを経由してWinSCPを使う - Qiita
状況
環境を次のように仮定する。localからはalphaのみにSSH接続可能。そこからbetaを経由して目的のgammaに接続できる。
Windows Subsystem for LinuxでUbuntu18.04を使用。...