web-dev-qa-db-ja.com

SSHCA署名付きキーが要塞経由で失敗する

新しいシステム用にいくつかのサーバーをセットアップしていて、少し違う方法で行うことにしました。しかし、私はただ乗り越えられないように見える問題に直面しています。私が望む構成は、要塞サーバーを1つと、要塞を介してのみアクセスできる他のN台のサーバーを使用することです。これは非常に一般的な構成です。

私が通常行うこととの違いは、認証に署名付きSSHキーを使用したいということです。これは単一のサーバーでは非常に簡単ですが、要塞を使用するとレンチを投げます。

現在、同じように構成された2つのサーバーがあります。署名されたSSHキーを使用して両方に直接アクセスできます。ただし、一方を要塞/ジャンプホストとして使用しようとすると、もう一方に接続できません。私の~/.ssh/configは次のようになります:

Host ssh.uswe2
  HostName ssh.uswe2.example.com
  User ec2-user
  IdentityFile ~/.ssh/ssh-rsa-cert

Host *.uswe2 !ssh.uswe2
  HostName %h.example.com
  User ec2-user
  ProxyCommand ssh -W %h:%p ssh.uswe2.example.com
  IdentityFile ~/.ssh/ssh-rsa-cert

この構成では、ssh ssh.uswe2を使用して要塞にサインインできますが、ssh server2.uswe2を使用して他のサーバーに接続しようとすると、次のエラーが発生します。

channel 0: open failed: administratively prohibited: open failed
stdio forwarding failed
kex_exchange_identification: Connection closed by remote Host

パブリックネットワーク経由でssh server2.uswe2.example.comを使用してサーバーに直接接続することはできますが、CAと証明書が正しくロードされていることはわかっています。

次の考えは、要塞の構成に関係があるのではないかと思いましたが、両方のサーバーの~/.ssh/authorized_keysに公開鍵を追加すれば、問題なく接続できます。

私はここで完全に途方に暮れていて、サーバーから自分自身を締め出し続けているのでトラブルシューティングするのは難しいです。私は誰かが次のことで私を助けてくれることを願っています:

  • この構成は可能ですか?
  • 今の私の仮定は、ローカルのssh構成に問題があるということです。不足している特定のフラグまたはオプションはありますか?
  • 問題を特定するための次のステップは何ですか?
1
3ocene
channel 0: open failed: administratively prohibited: open failed

この問題は、サーバーのSSHゲートウェイサーバーでポート転送が無効になっている場合に発生します。あなたの場合、ssh.uswe2.example.comでは、AllowTcpForwardingの設定が「no」に設定されている可能性があります。それを「はい」に変更したいとします。また、GatewayPortsを許可する必要がある場合もあります。詳細については、ドキュメントを参照してください。 https://linux.die.net/man/5/sshd_config

3
TLane