Einen SSH-Host von einer Standard-SOCKS-Route ausnehmen
Setzen Sie eine ProxyCommand-none-Ausnahme vor eine Wildcard-Standardregel und prüfen Sie die wirksame OpenSSH-Konfiguration für den angefragten Host.
Wenn eine OpenSSH-Konfiguration standardmäßig einen SOCKS-Connector verwendet, setzen Sie eine benannte Ausnahme vor diese breite Regel:
Host internal.example
ProxyCommand none
Host *
ProxyCommand nc -X 5 -x proxy.example:1080 %h %p
Dieses Beispiel nutzt die OpenBSD-nc-Optionsschnittstelle für SOCKS5. Verbindungen mit ssh internal.example wählen die Ausnahme; die übrigen Hosts erhalten den Standard-Connector. Für erlaubte öffentliche SSH-Ziele kann ein kontoloser Eintrag aus der SOCKS5-Proxy-Liste die Standard-Proxyadresse liefern, sofern er jeden tatsächlichen Host und SSH-Port zulässt; die gewünschte interne Ausnahme bleibt erhalten.
Die Reihenfolge zählt, weil OpenSSH den ersten ermittelten Wert für einen Parameter verwendet. Die Ausnahme muss vor einer passenden Standardregel auftauchen, die ProxyCommand liefert, einschließlich Standards aus Include-Dateien.
Prüfen Sie die wirksamen Einstellungen für einen bestimmten Aufruf mit:
ssh -G internal.example
Host-Muster gleichen dem Namen, mit dem SSH aufgerufen wird. Nutzt ein Befehl einen Alias, dessen HostName auf internal.example zeigt, geben Sie auch diesem Alias die gewünschte Ausnahme. So bleibt die Regel an die tatsächliche Konfigurationssuche gebunden, statt anzunehmen, ein DNS-gleicher Name wähle denselben Block.