Come eseguire SSH direttamente sul target tramite jumphost usando Config SSH senza un comando ssh aggiuntivo


14

Se lo faccio:

ssh -J jumphost.example.com target.example.com

Finisco subito per accedere a "target".

Se uso questo file di configurazione di ssh, usando la più recente configurazione di salto di 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

Finisco per accedere a 'jumphost' non a 'target'

Loro roba portachiavi è per Mac, ho testato senza di essa e non fa alcuna differenza, ma ho pensato di lasciarlo nel caso.


1
-Jè ProxyJumpe non HostName.
Boris the Spider,

Risposte:


21

Finisci per accedere all'host jump perché la tua configurazione dice esplicitamente di ignorare il nome host specificato e accedi all'host jump.

  HostName jumphost.example.com

HostName sovrascrive il nome host specificato nella riga di comando.

Se si sta tentando di utilizzare automaticamente un host di salto senza doverlo specificare nella riga di comando ssh, l'opzione del file di configurazione corretta è ProxyJump. Per esempio:

Host everything, behind, jumphost, *.example.com
  ProxyJump jumphost.example.com

Ora puoi semplicemente correre ssh target.example.come attraverserai il jumphost.


2

Il problema è che la definizione Host rileva sia jumphost.example.com sia target.example.com come alias, quindi imposta HostName su jumphost.example.com in entrambi i casi.

Suggerirei di creare gli alias seguendo il comando Host NON nomi di dominio completi, quindi di creare una voce Host per ciascuno

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.