TL;DR

TL;DR

Mein Ziel ist, wenn möglich, eine Verbindung herzustellen durch

$ ssh Endhost

Weil ich für eine Verbindung zu MySQL eine SSH-Verbindung zum Tunneln brauche, die der Endpunkt herstellen kann, der Hop-Host jedoch nicht.

TL;DR

Ich suche gerade nach einer Möglichkeit, die es .ssh/configmir ermöglicht,

SSH-Endhost

Wenn es hinter den Kulissen

ssh -t Hop-Host ssh End-Host



Wenn die Action hinter den Kulissen

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

Wobei Endhost, Endhost-Benutzer und Identitätsdatei zum Endhost bekannt und auf /home/hop-user/.ssh/configdem Hop-Host definiert sind.

MacBook~/.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

Hop-Host Cent OS ~/.ssh/configfür Hop-Benutzer

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

Zu beachtende Einschränkungnc: Ich kann keine Konfiguration auf Hop-/End-Hosts ändern und habe es auf diesen nicht installiert.

Aktuelles Problem mit der angegebenen Konfiguration

$ ssh End-Host-
Kanal 0: Öffnen fehlgeschlagen: administrativ verboten:
Öffnen fehlgeschlagen ssh_exchange_identification: Verbindung vom Remote-Host geschlossen

Sache, die funktioniert:

$ ssh -t Hop-Host SSH-Endpunkt-Hostname wie auf dem Hop-Host definiert

Ich werde korrekt aufgefordert, „end-host-bash$“ einzugeben, und kann von dort aus alles tun, was ich möchte.

Dinge, die nicht oder nur teilweise funktionieren und die ich ausprobiert habe

1) Ändern der Macbook ~/.ssh/config-Endhostkonfiguration für Hostname und Benutzer

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

$ ssh Endhost
[email geschützt]'s Passwort:

Was ich offensichtlich nicht habe. Und ich vermute, es liegt daran, dass Hop-Host .ssh/confignicht rot ist.

2) Ändern der Macbook ~/.ssh/config-Endhostkonfiguration für ProxyCommand

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

$ ssh end-host
Pseudoterminal wird nicht zugewiesen, da stdin kein Terminal ist.
Pseudoterminal wird nicht zugewiesen, da stdin kein Terminal ist.
: Befehl nicht gefunden2.0-OpenSSH_6.2
ls
^CDurch Signal 2 beendet.

bash gibt mir die Möglichkeit, etwas einzugeben, aber meine Befehle werden nicht angezeigt.
Ich verstehe, dass das daran liegt, dass -o ProxyCommand="the command in .ssh/config in the right host"im Hintergrund ein Aufruf erfolgt, aber vielleicht verstehe ich nicht, wie das tatsächlich funktioniert.

verwandte Informationen