Jeśli zrobię:
ssh -J jumphost.example.com target.example.com
Skończyło się od razu zalogowaniem do „celu”.
Jeśli użyję tego pliku konfiguracyjnego ssh, używając nowszej konfiguracji skoku ssh-7.3:
Host jump 10.1.*, targets*, *.example.com
HostName jumphost.example.com
IdentitiesOnly yes
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
W końcu zalogowałem się do „jumphost”, a nie „target”
Breloki są na Maca, testowałem bez nich i to nie ma znaczenia, ale pomyślałem, że zostawię to na wszelki wypadek.
-J
jestProxyJump
i nieHostName
.Odpowiedzi:
W końcu zalogowałeś się do hosta skoku, ponieważ twoja konfiguracja wyraźnie mówi, aby zignorować podaną nazwę hosta i zalogować się do hosta skoku.
HostName
zastępuje nazwę hosta określoną w wierszu polecenia.Jeśli próbujesz automatycznie użyć hosta skoku bez konieczności podawania go w wierszu komend ssh, poprawną opcją pliku konfiguracyjnego jest
ProxyJump
. Na przykład:Teraz możesz po prostu biec,
ssh target.example.com
a przejdziesz przez jumphost.źródło
Problem polega na tym, że definicja hosta przechwytuje zarówno adres jumphost.example.com ORAZ target.example.com jako aliasy, a następnie ustawia nazwę hosta na jumphost.example.com w obu przypadkach.
Sugeruję utworzenie aliasów po poleceniu Host NIE w pełni kwalifikowanymi nazwami domen, a następnie utworzenie wpisu hosta dla każdej z nich
źródło