SSH ProxyCommand ਅਤੇ ਹੋਸਟ-ਅਧਾਰਿਤ ਪ੍ਰਮਾਣਿਕਤਾ: ਕਿਹੜਾ ਹੋਸਟ ਦਸਤਖ਼ਤ ਕਰਦਾ ਹੈ?
ਬਾਸਟੀਅਨ ਰਾਹੀਂ TCP ਸਟ੍ਰੀਮ ਭੇਜਣ ਅਤੇ ਉੱਥੇ ਦੂਜਾ SSH ਕਲਾਇੰਟ ਸ਼ੁਰੂ ਕਰਨ ਵਿੱਚ ਫ਼ਰਕ ਕਰੋ, ਜਦੋਂ ਹੋਸਟ-ਅਧਾਰਿਤ ਪ੍ਰਮਾਣਿਕਤਾ ਸ਼ਾਮਲ ਹੋਵੇ।
ਟਾਰਗੇਟ ਬਾਸਟੀਅਨ ਤੋਂ ਆ ਰਹੀ TCP ਕਨੈਕਸ਼ਨ ਦੇਖ ਸਕਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਪ੍ਰਮਾਣਿਕਤਾ ਕਰਨ ਵਾਲਾ SSH ਕਲਾਇੰਟ ਅਜੇ ਵੀ ਵਰਕਸਟੇਸ਼ਨ ’ਤੇ ਚੱਲ ਰਿਹਾ ਹੈ।
Host behind-bastion
ProxyCommand ssh -W %h:%p bastionਇੱਥੇ ਸਹਾਇਕ ਬਾਸਟੀਅਨ ਵਿੱਚ ਲੌਗ ਇਨ ਕਰਦਾ ਹੈ ਅਤੇ ਉਸ ਦੇ SSH ਸਰਵਰ ਨੂੰ ਟਾਰਗੇਟ ਵੱਲ ਭੇਜੀ ਕਨੈਕਸ਼ਨ ਮੰਗਦਾ ਹੈ। ਵਰਕਸਟੇਸ਼ਨ ਦਾ ਬਾਹਰੀ SSH ਕਲਾਇੰਟ ਉਸ ਸਟ੍ਰੀਮ ਰਾਹੀਂ ਟਾਰਗੇਟ ਦਾ SSH ਪ੍ਰੋਟੋਕੋਲ ਬਦਲਦਾ ਹੈ। ਬਾਸਟੀਅਨ ਢੁਆਈ ਦਿੰਦਾ ਹੈ; ਇਸ ਨੇ ਟਾਰਗੇਟ ਵੱਲ ਵਾਲਾ SSH ਕਲਾਇੰਟ ਸ਼ੁਰੂ ਨਹੀਂ ਕੀਤਾ।
ਹੋਸਟ-ਅਧਾਰਿਤ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਇਹ ਫ਼ਰਕ ਜ਼ਰੂਰੀ ਹੈ। OpenSSH ਦਾ ssh-keysign ਸਹਾਇਕ ਲੋੜੀਂਦਾ ਦਸਤਖ਼ਤ ਬਣਾਉਣ ਲਈ ਸਥਾਨਕ ਹੋਸਟ ਕੁੰਜੀਆਂ ਵਰਤਦਾ ਹੈ। ਬਾਸਟੀਅਨ ਦਾ ਨੈੱਟਵਰਕ ਸਰੋਤ ਪਤਾ ਹੋਣਾ ਵਰਕਸਟੇਸ਼ਨ ਨੂੰ ਬਾਸਟੀਅਨ ਦੀ ਹੋਸਟ ਕੁੰਜੀ ਨਾਲ ਦਸਤਖ਼ਤ ਕਰਨ ਲਈ ਮਜਬੂਰ ਨਹੀਂ ਕਰਦਾ।
ਇਸ ਦੀ ਤੁਲਨਾ ਕਰੋ:
ssh -t bastion ssh targetਇਹ ਬਾਸਟੀਅਨ ’ਤੇ ਦੂਜਾ SSH ਪ੍ਰੋਗਰਾਮ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਇਸ ਦੀ ਸਥਾਨਕ ਸੰਰਚਨਾ ਅਤੇ ਉਪਲਬਧ ਹੋਸਟ ਕੁੰਜੀਆਂ ਉਸ ਮਸ਼ੀਨ ਦੀਆਂ ਹਨ, ਇਸ ਲਈ ਇਹ ਬਾਸਟੀਅਨ ਅਤੇ ਟਾਰਗੇਟ ਵਿਚਕਾਰ ਪਹਿਲਾਂ ਤੋਂ ਸੰਰਚਿਤ ਹੋਸਟ-ਅਧਾਰਿਤ ਭਰੋਸੇ ਪ੍ਰਬੰਧ ਵਿੱਚ ਹਿੱਸਾ ਲੈ ਸਕਦਾ ਹੈ। ਇਸ ਨੂੰ ਅਜੇ ਵੀ ਟਾਰਗੇਟ ਦੀ ਸੰਬੰਧਿਤ ਮਨਜ਼ੂਰੀ ਅਤੇ ਨਾਮ ਜਾਂਚ ਲੋੜੀਂਦੀ ਹੈ।
ਦੂਜਾ ਰੂਪ ਸੈਸ਼ਨ ਦੇ ਕੰਮ ਕਰਨ ਦਾ ਤਰੀਕਾ ਵੀ ਬਦਲਦਾ ਹੈ: ਇਹ ਦੂਰਸਥ ਕਮਾਂਡ ਚਲਾਉਂਦਾ ਹੈ ਅਤੇ ਟਰਮੀਨਲ ਵਰਤਦਾ ਹੈ। ਇਹ ਹਰ SSH ਫ਼ਾਈਲ ਟਰਾਂਸਫ਼ਰ ਜਾਂ ਆਟੋਮੇਸ਼ਨ ਢੁਆਈ ਲਈ ਪਾਰਦਰਸ਼ੀ ਬਦਲ ਨਹੀਂ ਹੈ। ਸਰੋਤ ਪਤਾ ਕਾਫ਼ੀ ਲੱਗੇ ਇਸ ਲਈ ਸਰਵਰ ਦੀ ਭਰੋਸਾ ਜਾਂਚ ਕਮਜ਼ੋਰ ਕਰਨ ਦੀ ਥਾਂ, ਇਹ ਚੁਣੋ ਕਿ ਕਿਹੜੀ ਮਸ਼ੀਨ ਟਾਰਗੇਟ ਸਾਹਮਣੇ ਪ੍ਰਮਾਣਿਕਤਾ ਕਰੇਗੀ।