SSH ਏਜੰਟ ਫਾਰਵਰਡਿੰਗ ਬਨਾਮ ਕੁੰਜੀ ਦੀ ਨਕਲ: ਅਸਲ ਵਿੱਚ ਕੀ ਲੀਕ ਹੁੰਦਾ ਹੈ
ਜਨਤਕ ਕੁੰਜੀ ਨਾਲ ਲੌਗਇਨ ਦਸਤਖ਼ਤ ਭੇਜਦਾ ਹੈ, ਨਿੱਜੀ ਕੁੰਜੀ ਨਹੀਂ। ਏਜੰਟ ਫਾਰਵਰਡਿੰਗ ਫਿਰ ਵੀ ਕਿਸੇ ਹੋਰ ਹੋਸਟ ਨੂੰ ਦਸਤਖ਼ਤ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਦਿੰਦੀ ਹੈ, ਜੋ ਇੱਕ ਵੱਖਰਾ ਖ਼ਤਰਾ ਹੈ।
ਦੋ ਵੱਖਰੀਆਂ ਘਟਨਾਵਾਂ ਨੂੰ ਲੀਕ ਹੋਈ SSH ਕੁੰਜੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਉਹਨਾਂ ਲਈ ਵੱਖਰੇ ਜਵਾਬ ਚਾਹੀਦੇ ਹਨ। ਜਨਤਕ ਕੁੰਜੀ ਪ੍ਰਮਾਣੀਕਰਨ ਇੱਕ ਜਨਤਕ ਕੁੰਜੀ ਅਤੇ ਨਿੱਜੀ ਕੁੰਜੀ ਨਾਲ ਬਣਿਆ ਦਸਤਖ਼ਤ ਭੇਜਦਾ ਹੈ, ਇਸ ਲਈ ਨਿੱਜੀ ਕੁੰਜੀ ਕਦੇ ਬੇਨਤੀ ਦਾ ਖੇਤਰ ਨਹੀਂ ਹੁੰਦੀ। ਏਜੰਟ ਫਾਰਵਰਡਿੰਗ ਕੁਝ ਹੋਰ ਉਜਾਗਰ ਕਰਦੀ ਹੈ, ਕਿਉਂਕਿ ਤੁਹਾਡੇ ਫਾਰਵਰਡ ਕੀਤੇ ਏਜੰਟ ਤੱਕ ਪਹੁੰਚ ਸਕਣ ਵਾਲਾ ਦੂਰ ਦਾ ਹੋਸਟ ਕੁੰਜੀ ਕਦੇ ਰੱਖੇ ਬਿਨਾਂ ਉਸਨੂੰ ਦਸਤਖ਼ਤ ਕਰਨ ਲਈ ਕਹਿ ਸਕਦਾ ਹੈ। ਇਹਨਾਂ ਦੋਹਾਂ ਨੂੰ ਇੱਕ ਘਟਨਾ ਮੰਨਣ ਨਾਲ ਜਾਂ ਬੇਕਾਰ ਕੁੰਜੀ ਬਦਲਾਅ ਹੁੰਦਾ ਹੈ ਜਾਂ ਚੱਲਦਾ ਰਹਿਣ ਵਾਲਾ ਪ੍ਰਤੀਨਿਧਿਤਵ।
ਜਨਤਕ ਕੁੰਜੀ ਨਾਲ ਲੌਗਇਨ ਕੁੰਜੀ ਨਹੀਂ, ਦਸਤਖ਼ਤ ਭੇਜਦਾ ਹੈ
ਪ੍ਰਮਾਣੀਕਰਨ ਦਾ ਆਦਾਨ-ਪ੍ਰਦਾਨ ਵਰਤੋਂਕਾਰ ਦੀ ਜਨਤਕ ਕੁੰਜੀ ਅਤੇ ਸੈਸ਼ਨ ਡੇਟਾ ਉੱਤੇ ਇੱਕ ਦਸਤਖ਼ਤ ਲੈ ਕੇ ਜਾਂਦਾ ਹੈ। ਸਰਵਰ ਉਹ ਦਸਤਖ਼ਤ ਉਸੇ ਕੁੰਜੀ ਨਾਲ ਜਾਂਚਦਾ ਹੈ ਜਿਸ ਉੱਤੇ ਉਸਨੂੰ ਪਹਿਲਾਂ ਹੀ ਭਰੋਸਾ ਹੈ, ਇਸ ਲਈ ਨਿੱਜੀ ਅੱਧਾ ਹਿੱਸਾ ਭਰੋਸੇਯੋਗ ਨਾ ਹੋਣ ਵਾਲੇ ਨੈੱਟਵਰਕ ਉੱਤੇ ਵੀ ਕਲਾਇੰਟ ਉੱਤੇ ਰਹਿ ਸਕਦਾ ਹੈ। ਟਨਲ ਦੇਖਣ ਵਾਲਾ VPN ਓਪਰੇਟਰ ਕਿਸੇ ਵੀ ਹਾਲ ਵਿੱਚ ਐਨਕ੍ਰਿਪਟ SSH ਸੈਸ਼ਨ ਦੇਖਦਾ ਹੈ।
ਇਹ ਪ੍ਰੋਟੋਕਾਲ ਦਾ ਵਰਣਨ ਹੈ, ਰਾਹ ਦੇ ਹਰ ਸਿਰੇ ਦੀ ਭਰੋਸੇਯੋਗਤਾ ਦਾ ਨਹੀਂ। ਹੋਸਟ-ਪਛਾਣ ਜਾਂਚ ਨੂੰ ਅਟੁੱਟ ਰੱਖੋ, ਕਿਉਂਕਿ ਕੋਈ ਵੀ ਹੋਸਟ ਕੁੰਜੀ ਸਵੀਕਾਰ ਕਰਨ ਵਾਲਾ ਕਲਾਇੰਟ ਇੱਥੇ ਚਰਚਿਤ ਨਿਯੰਤਰਣ ਤੋਂ ਵੱਖਰਾ ਨਿਯੰਤਰਣ ਛੱਡ ਚੁੱਕਾ ਹੈ। ਫੜਿਆ ਸੈਸ਼ਨ ਅਤੇ ਫੜੀ ਕੁੰਜੀ ਵੱਖਰੇ ਨਤੀਜੇ ਹਨ, ਅਤੇ ਇਹਨਾਂ ਵਿੱਚੋਂ ਸਿਰਫ਼ ਇੱਕ ਹੀ ਪ੍ਰਮਾਣ-ਪੱਤਰਾਂ ਦਾ ਨੁਕਸਾਨ ਹੈ। ਦੋਹਾਂ ਨੂੰ ਰਿਪੋਰਟ ਵਿੱਚ ਵੱਖਰੇ ਵਾਕਾਂ ਵਿੱਚ ਰੱਖੋ।
ssh-keygen -lf ~/.ssh/id_ed25519.pub ssh -o StrictHostKeyChecking=yes [email protected]
ਪਹਿਲਾ ਆਦੇਸ਼ ਜਨਤਕ ਉਂਗਲੀ-ਛਾਪ ਛਾਪਦਾ ਹੈ ਤਾਂ ਜੋ ਤੁਸੀਂ ਇਸਨੂੰ ਸਰਵਰ ਦੀ ਸੂਚੀ ਨਾਲ ਤੁਲਨਾ ਕਰ ਸਕੋ। ਦੂਜਾ ਉਸ ਡਿਫ਼ਾਲਟ ਉੱਤੇ ਭਰੋਸਾ ਕਰਨ ਦੀ ਬਜਾਏ ਹੋਸਟ-ਕੁੰਜੀ ਜਾਂਚ ਨੂੰ ਸਪਸ਼ਟ ਬਣਾਉਂਦਾ ਹੈ ਜਿਸਨੂੰ ਕਿਸੇ ਨੇ ਪੜ੍ਹਿਆ ਹੀ ਨਹੀਂ। ਕੁੰਜੀਆਂ ਬਾਰੇ ਕੁਝ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਦੋਵੇਂ ਚਲਾਓ, ਤਾਂ ਜੋ ਅਧਾਰ-ਰੇਖਾ ਦਰਜ ਹੋਵੇ।
ਏਜੰਟ ਫਾਰਵਰਡਿੰਗ ਦਸਤਖ਼ਤ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸੌਂਪਦੀ ਹੈ
ਫਾਰਵਰਡਿੰਗ ਚਾਲੂ ਹੋਣ 'ਤੇ ਦੂਰ ਦੇ ਹੋਸਟ ਉੱਤੇ ਇੱਕ ਸਾਕਟ ਦਿਸਦਾ ਹੈ ਅਤੇ ਸਥਾਨਕ ਏਜੰਟ ਉਸ ਰਾਹੀਂ ਆਉਣ ਵਾਲੀਆਂ ਬੇਨਤੀਆਂ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਸੈਸ਼ਨ ਦੌਰਾਨ ਉਸ ਸਾਕਟ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਣ ਵਾਲਾ ਕੋਈ ਵੀ ਵਿਅਕਤੀ ਲੋਡ ਕੀਤੀਆਂ ਪਛਾਣਾਂ ਸਵੀਕਾਰ ਕਰਨ ਵਾਲੇ ਹੋਸਟਾਂ ਸਾਹਮਣੇ ਤੁਹਾਡੇ ਵਜੋਂ ਪ੍ਰਮਾਣਿਤ ਹੋ ਸਕਦਾ ਹੈ। ਇਸਦੇ ਕੰਮ ਕਰਨ ਲਈ ਕੋਈ ਨਿੱਜੀ ਕੁੰਜੀ ਨੈੱਟਵਰਕ ਪਾਰ ਨਹੀਂ ਕਰਦੀ।
ਖ਼ਤਰਾ ਸਮਰੱਥਾ ਹੈ, ਫ਼ਾਈਲ ਨਹੀਂ। ਇਸ ਲਈ ਫਾਰਵਰਡਿੰਗ ਲੈਪਟਾਪ ਵੱਲੋਂ ਕੀਤੇ ਹਰ ਕਨੈਕਸ਼ਨ ਦੀ ਨਹੀਂ, ਨਾਮਿਤ ਕੰਮ ਅਤੇ ਨਾਮਿਤ ਹੋਸਟ ਦੀ ਹੁੰਦੀ ਹੈ। ਫਾਰਵਰਡ ਕੀਤੇ ਏਜੰਟ ਤੋਂ ਬਿਨਾਂ ਕਨੈਕਸ਼ਨ ਅੱਗੇ ਭੇਜਣ ਵਾਲਾ ਜੰਪ ਹੋਸਟ ਆਮ ਤੌਰ 'ਤੇ ਲੋੜ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਹਟਾ ਦਿੰਦਾ ਹੈ।
ssh-add -l ssh -o ForwardAgent=no [email protected] ssh -J [email protected] [email protected]
ਪਹਿਲਾ ਦੱਸਦਾ ਹੈ ਕਿ ਏਜੰਟ ਕੋਲ ਇਸ ਵੇਲੇ ਕਿਹੜੀਆਂ ਪਛਾਣਾਂ ਹਨ, ਜੋ ਇਸਦਾ ਸਾਕਟ ਕਿਸੇ ਹੋਰ ਮਸ਼ੀਨ ਨੂੰ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਜਾਣਨਾ ਚਾਹੀਦਾ ਹੈ। ਦੂਜਾ ਪ੍ਰਤੀਨਿਧਿਤਵ ਤੋਂ ਬਿਨਾਂ ਜੁੜਦਾ ਹੈ। ਤੀਜਾ ਉਹ ਜੰਪ-ਹੋਸਟ ਪੈਟਰਨ ਦਿਖਾਉਂਦਾ ਹੈ ਜੋ ਅਕਸਰ ਫਾਰਵਰਡਿੰਗ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਬਦਲ ਦਿੰਦਾ ਹੈ।
ਆਪਣੇ ਕੋਲ ਮੌਜੂਦ ਸਬੂਤਾਂ ਤੋਂ ਜਵਾਬ ਚੁਣੋ
ਜਿਸ ਦਸਤਖ਼ਤ-ਪਛਾਣ ਨੂੰ ਖੁੱਲ੍ਹਾ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ, ਉਸ ਲਈ ਬਦਲੀ ਅਤੇ ਰੱਦ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਚਾਹੀਦੀ ਹੈ, ਅਤੇ ਉਹਨਾਂ ਸੇਵਾਵਾਂ ਤੋਂ ਇਸਦੀ ਸਵੀਕ੍ਰਿਤੀ ਹਟਾਉਣੀ ਚਾਹੀਦੀ ਹੈ ਜੋ ਇਸ ਉੱਤੇ ਭਰੋਸਾ ਕਰਦੀਆਂ ਸਨ। ਆਪਣੇ ਲੈਪਟਾਪ ਉੱਤੇ ਨਕਲ ਮਿਟਾਉਣ ਨਾਲ ਬਾਕੀ ਹਰ ਨਕਲ ਅਛੂਤੀ ਰਹਿੰਦੀ ਹੈ। ਸੇਵਾਵਾਂ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ, ਫਿਰ ਕਲਾਇੰਟ ਸਾਫ਼ ਕਰੋ।
ਅਸਥਾਈ ਪ੍ਰਤੀਨਿਧਿਤਵ ਸਮੱਸਿਆ ਵਧੇਰੇ ਸੰਕੀਰਣ ਹੈ। ਜੋ ਫਾਰਵਰਡਿੰਗ ਲੋੜੀਂਦੀ ਨਹੀਂ ਸੀ ਉਸਨੂੰ ਖ਼ਤਮ ਕਰੋ, ਅਤੇ ਘਟਨਾ ਦੇ ਮਾਲਕ ਨਾਲ ਸਮੀਖਿਆ ਕਰੋ ਕਿ ਇਸਨੇ ਕਿਹੜੇ ਸੈਸ਼ਨ ਅਤੇ ਪਛਾਣਾਂ ਕਵਰ ਕੀਤੀਆਂ। ਕੁੰਜੀ ਬਦਲੀ ਬਾਅਦ ਵਿੱਚ ਆ ਸਕਦੀ ਹੈ, ਪਰ ਇਹ ਸਬੂਤ ਤੈਅ ਕਰਦੇ ਹਨ, ਚਿੰਤਾ ਨਹੀਂ।
ਕੋਈ ਵੀ ਦੇਖਿਆ ਨਿਰਯਾਤ ਨਾ ਹੋਣਾ ਸਿਰਫ਼ ਇਹ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਜਿਸ ਤੰਤਰ ਤੋਂ ਤੁਸੀਂ ਡਰਦੇ ਸੀ ਉਹ ਦਿਸਿਆ ਨਹੀਂ। ਇਹ ਇਸ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ ਕਿ ਉਸ ਸਾਕਟ ਦੇ ਦੂਜੇ ਸਿਰੇ ਦਾ ਹੋਸਟ ਹੋਰ ਕੀ ਕਰ ਸਕਦਾ ਸੀ।
ਰਿਪੋਰਟ ਵਿੱਚ ਨਿਯੰਤਰਣ ਵੱਖਰੇ ਰੱਖੋ
ਨਿੱਜੀ ਸਮੱਗਰੀ ਦੀ ਰੱਖਿਆ ਕਰੋ, ਸੀਮਿਤ ਕਰੋ ਕਿ ਕੌਣ ਇਸ ਤੋਂ ਦਸਤਖ਼ਤ ਮੰਗ ਸਕਦਾ ਹੈ, ਦੂਜੇ ਧਿਰ ਦੀ ਪਛਾਣ ਪ੍ਰਮਾਣਿਤ ਰੱਖੋ। ਇਹ ਤਿੰਨ ਨਿਯੰਤਰਣ ਹਨ ਜੋ ਇੱਕ-ਦੂਜੇ ਨੂੰ ਮਜ਼ਬੂਤ ਕਰਦੇ ਹਨ, ਅਤੇ ਕੀ ਹੋਇਆ ਇਹ ਸਮਝਾਉਂਦੇ ਸਮੇਂ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਦੂਜੇ ਦੀ ਥਾਂ ਨਹੀਂ ਲੈਂਦਾ।
ਸਮਝੌਤਾ ਕੀਤਾ ਲੈਪਟਾਪ ਜਾਂ ਉਸ ਉੱਤੇ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਵਾਲੀ ਐਪਲੀਕੇਸ਼ਨ ਬਹੁਤ ਵਿਸ਼ਾਲ ਪ੍ਰਭਾਵ ਖੇਤਰ ਵਾਲਾ ਤੀਜਾ ਕੇਸ ਹੈ। VPN ਰਸਤਾ ਬਦਲਣ ਨਾਲ ਇਹ ਹੱਲ ਨਹੀਂ ਹੁੰਦਾ ਅਤੇ ਡਿਸਕ ਤੋਂ ਪੜ੍ਹੀ ਜਾ ਸਕਣ ਵਾਲੀ ਕੁੰਜੀ ਉੱਤੇ ਭਰੋਸਾ ਵਾਪਸ ਨਹੀਂ ਆਉਂਦਾ।
ਕਿਹੜਾ ਹਿੱਸਾ ਭਰੋਸੇਯੋਗ ਸੀ, ਫਾਰਵਰਡਿੰਗ ਚਾਲੂ ਸੀ ਜਾਂ ਨਹੀਂ, ਅਤੇ ਅਸਲ ਵਿੱਚ ਕੀ ਦੇਖਿਆ ਗਿਆ ਲਿਖੋ। ਉਹੀ ਰਿਕਾਰਡ ਅਗਲੇ ਫ਼ੈਸਲੇ ਨੂੰ ਲੀਕ ਦੇ ਅਰਥ ਬਾਰੇ ਅੰਦਾਜ਼ੇ ਦੀ ਬਜਾਏ ਬਚਾਅ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ।