ssh_exchange_identification: Connection closed by remote hostエラーが発生した場合の対処方法をメモっておきます。
まず、ググると以下がヒットしたので、それを試してみました。

しかしいずれも解決にはつながらず、途方にくれた私を救ってくれたのは、上司からの

Host test-* みたいな共通設定が入ってません??

というエスパー指摘でした。まさにその設定が入っています!!

踏み台サーバ経由で各サーバにsshする必要があるため、~/.ssh/configに以下のようなワイルドカードを使った共通設定を行なっており、

# 踏み台
Host test-bastion
  HostName hoge.fuga.net
  User hogeuser
  Port 22222
  ForwardAgent yes

# 共通
Host test-*
  User hogeuser
  ProxyCommand ssh -W %h:%p test-bastion

この共通設定のため、ssh test-xxxを実行すると、

Host test-bastion
  HostName hoge.fuga.net
  User hogeuser
  Port 22222
  ForwardAgent yes
  ProxyCommand ssh -W %h:%p test-bastion ## <------

のような感じでtest-bastionProxyCommandのパラメータが存在するように解釈され、test-bastiontest-bastion経由でアクセスしようとして、エラーが発生していたようです。

対応策として、単純に踏み台サーバと実サーバの名前が被らないようにすることにしました。

Host bastion-for-test
  HostName hoge.fuga.net
  User hogeuser
  Port 22222
  ForwardAgent yes

# 共通
Host test-*
  User hogeuser
  ProxyCommand ssh -W %h:%p bastion-for-test

なお、ワイルドカードを使ったパラメータの上書きに関しては、ssh_configの マニュアル に書いてあるので、詳細はそちらを参照ください。