Целта вижда TCP връзка, идваща от бастиона, докато SSH клиентът, който извършва удостоверяването, все още работи на работната станция.

Host behind-bastion
    ProxyCommand ssh -W %h:%p bastion

Тук помощната програма влиза в бастиона и иска от неговия SSH сървър препратена връзка към целта. Външният SSH клиент на работната станция обменя SSH протокола на целта през този поток. Бастионът осигурява транспорта; той не е стартирал SSH клиента към целта.

Тази разлика е важна за удостоверяването, базирано на хост. Помощникът ssh-keysign на OpenSSH достъпва локалните ключове на хоста, за да генерира нужния подпис. Мрежов адрес на източника, принадлежащ на бастиона, не кара работната станция да подписва с ключа на хоста на бастиона.

Сравнете с:

ssh -t bastion ssh target

Това стартира друга SSH програма на бастиона. Нейната локална конфигурация и налични ключове на хоста принадлежат на тази машина, така че тя може да участва в предварително настроена схема за доверие, базирана на хост, между бастиона и целта. Тя все още се нуждае от съответното разрешение и проверки на името от страна на целта.

Втората форма променя и работата на сесията: тя изпълнява отдалечена команда и използва терминал. Тя не е прозрачна замяна за всеки SSH трансфер на файлове или автоматизационен транспорт. Избирайте схемата според това коя машина трябва да се удостовери пред целта, вместо да отслабвате проверките за доверие на сървъра, за да изглежда адресът на източника достатъчен.

Подобни статии