TL; DR

TL; DR

私の目標は、可能であれば、

$ ssh エンドホスト

なぜなら、mysql への接続にはトンネルする ssh 接続が必要であり、エンドポイントはこれを実行できるが、ホップホストは実行できないからです。

TL; DR

.ssh/config私は実際に、私に許可を与える方法を探しています

ssh エンドホスト

舞台裏ではそれが

ssh -t ホップホスト ssh エンドホスト



舞台裏のアクションが

Macbook -> hop-user@hop-host (id_rsa authentication) -> end-host-user@end-host (id_rsa authentication)

エンドホスト、エンドホストユーザー、およびエンドホストへの ID ファイルは/home/hop-user/.ssh/configホップホスト上で認識され、定義されます。

マックブック~/.ssh/config

Host hop-host
    User hop-user
    Hostname valid.tested.public.ip.address.to.hop.host
    IdentityFile ~/.ssh/id_rsa

Host end-host
    HostName end-point-hostname-as-defined-on-hop-host
    ProxyCommand ssh -W %h:%p hop-host

~/.ssh/configホップユーザー向けホップホスト Cent OS

Host end-point-hostname-as-defined-on-hop-host
    HostName valid.tested.internal.ip.address.to.end.host
    User end-host-user
    IdentityFile ~/.ssh/keys/endhost

注意すべき制限: ホップ/エンド ホストの設定を変更できず、ncそれらのホストにはインストールされていません。

指定された構成の現在の問題

$ ssh エンドホスト
チャネル 0: オープンに失敗しました: 管理上禁止されています:
オープンに失敗しました ssh_exchange_identification: リモート ホストによって接続が閉じられました

機能するもの:

$ ssh -t ホップホスト ホップホストで定義された ssh エンドポイントホスト名

end-host-bash$を正しくプロンプトし、そこから何でも好きなことを実行できるようにします

うまくいかなかったり、部分的にしか機能しなかったり、試してみたこと

1) Macbookの~/.ssh/configエンドホストのホスト名とユーザー設定を変更する

Host end-host
    HostName valid.tested.internal.ip.address.to.end.host
    User end-host-user
    ProxyCommand ssh -W %h:%p hop-host

$ ssh エンドホスト
[メールアドレス]のパスワード:

明らかに、私はそれを持っていません。ホップホストの.ssh/configが赤ではないからだと思います。

2) ~/.ssh/configProxyCommand の Macbook エンドホスト構成の変更

Host end-host
    ProxyCommand ssh -t hop-host ssh end-point-hostname-as-defined-on-hop-host

$ ssh end-host
stdin が端末ではないため、疑似端末は割り当てられません。
stdin が端末ではないため、疑似端末は割り当てられません。
: コマンドが見つかりません2.0-OpenSSH_6.2
ls
^CKilled by signal 2。

bash は入力する可能性を返しますが、コマンドが表示されません。
これは舞台裏で呼び出しがあるためだと理解しています-o ProxyCommand="the command in .ssh/config in the right host"が、実際にどのように動作するのか理解していない可能性があります。

関連情報