SSH ProxyCommand i autenticació basada en host: quin host signa?
Distingiu entre reenviar un flux TCP a través d'un bastió i iniciar-hi un segon client SSH quan hi ha autenticació basada en host.
L'objectiu veu una connexió TCP que arriba del bastió mentre el client SSH que fa l'autenticació encara s'executa a l'estació de treball.
Host behind-bastion
ProxyCommand ssh -W %h:%p bastionAquí l'auxiliar inicia sessió al bastió i demana al seu servidor SSH una connexió reenviada cap a l'objectiu. El client SSH extern de l'estació intercanvia el protocol SSH de l'objectiu a través d'aquest flux. El bastió proporciona el transport; no ha iniciat el client SSH que mira cap a l'objectiu.
Aquesta distinció importa per a l'autenticació basada en host. L'auxiliar ssh-keysign d'OpenSSH accedeix a les claus d'host locals per generar la signatura necessària. Una adreça d'origen de xarxa que pertany al bastió no fa que l'estació signi amb la clau d'host del bastió.
Compareu-ho amb:
ssh -t bastion ssh targetAixò inicia un altre programa SSH al bastió. La seva configuració local i les claus d'host disponibles pertanyen a aquella màquina, així que pot participar en un acord de confiança basat en host ja configurat entre el bastió i l'objectiu. Encara necessita l'autorització corresponent i les comprovacions de nom de l'objectiu.
La segona forma també canvia com funciona la sessió: executa una ordre remota i fa servir un terminal. No és un substitut transparent per a qualsevol transferència de fitxers SSH o transport d'automatització. Trieu l'opció segons quina màquina ha d'autenticar-se davant l'objectiu, en lloc d'afeblir les comprovacions de confiança del servidor per fer que l'adreça d'origen sembli suficient.