
私の目標は、可能であれば、
$ 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/config
ProxyCommand の 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"
が、実際にどのように動作するのか理解していない可能性があります。