多段ssh設定にハマった in your dreams

AWSでbastion serverから多段で接続する設定を~/.ssh/configに

Host aws_*
  User user
  IdentityFile ~/.ssh/whatever.pem
Host aws_sv_*
  ProxyCommand ssh -CW %h:%p aws_bastion

Host aws_sv_whatever
  HostName ip-XXX-XXX-XXX-XXX.ap-WTF-1.compute.internal

なんて書いておくとbastionとその先でUserが共有できてよかったのですが、たまたま無意識で

Host aws_sv_whatever2
  User another-user

  HostName ip-XXX-XXX-XXX-YYY.ap-WTF-1.compute.internal

なんてbastionと異なるユーザーで追加していて、たまたまそれを昨日初めて使ったら

$ ssh aws_sv_whatever2

Permission denied (publickey).

なんてなるからめっちゃ悩んだ...で、正解はというと、Userが複数回適用されるときはどうも先勝になるようなのでaws_*の前にaws_sv_whatever2を書くか

$ ssh another-user@aws_sv_whatever2

だってばよ。