ProxyJump: přes bastion bez tunelů v hlavě

návod · linux

Stroje ve vnitřní síti bývají dostupné jen přes bastion. Ruční ssh bastion a odtud ssh nas funguje, ale scp, rsync ani git tak použít nejdou.

možná zastaralé Od zveřejnění uplynuly víc než dva roky. Obsah nemusí platit.
01

Jednorázově z příkazové řádky

ssh -J bastion.example.org nas.internal
02

Trvale v konfiguraci

Do ~/.ssh/config:

Host bastion
  HostName bastion.example.org
  User admin

Host nas
  HostName nas.internal
  User admin
  ProxyJump bastion

Od té chvíle funguje ssh nas, scp soubor nas:/tmp/, rsync -a ./data nas:/srv/ i git clone nas:/srv/git/repo.git bez dalšího zařizování.

03

Proč ne ProxyCommand s netcat

Starší návody vedou ProxyCommand ssh bastion nc %h %p. ProxyJump (OpenSSH 7.3 a novější) dělá totéž, ale nepotřebuje nc na bastionu a nechává šifrování mezi klientem a cílem celé na klientovi – bastion vidí jen tok bajtů.

04

Řetěz přes víc skoků

Skoků může být víc, oddělují se čárkou a procházejí zleva:

ProxyJump okraj,vnitrni-bastion

Na co si dát pozor. ProxyJump nedědí IdentityFile z cílového hostitele – klíč pro bastion patří k jeho vlastnímu Host bloku. A pokud se bastion ptá na heslo, zeptá se při každém spojení; ControlMaster auto s ControlPath ~/.ssh/cm-%C a ControlPersist 10m z toho udělá jedno – bez ControlPath se sdílené spojení nevytvoří.

← zpět na Objevuj