ਸਥਾਪਿਤ HTTP CONNECT ਟਨਲ ਨੂੰ Paramiko ਨੂੰ ਦਿਓ
SSH ਹੋਸਟ-ਕੁੰਜੀ ਪੁਸ਼ਟੀਕਰਨ ਬਣਾਈ ਰੱਖਦਿਆਂ ਅਧਿਕਾਰਤ HTTP CONNECT ਮਾਰਗ ਰਾਹੀਂ Paramiko ਨੂੰ ਜੋੜੋ।
HTTP CONNECT ਸਹਾਇਕ ਵੱਲੋਂ ਲੋੜੀਂਦੇ SSH ਸਰਵਰ ਤੱਕ ਟਨਲ ਵਾਪਸ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਉਹ ਸਟ੍ਰੀਮ Paramiko ਨੂੰ ਦਿਓ:
with paramiko.SSHClient() as client:
client.load_system_host_keys()
client.connect('ssh.example.com',
username='operator',
sock=tunnel,
banner_timeout=10,
auth_timeout=10)
# Use the verified SSH connection.ਉਦਾਹਰਨ ਹੋਸਟ ਬਦਲੋ ਅਤੇ ਤੈਨਾਤੀ ਦਾ ਸਹੀ known-hosts ਡੇਟਾ ਲੋਡ ਕਰੋ। tunnel ਪਹਿਲਾਂ ਹੀ ਉਸੇ ਸਰਵਰ ਤੱਕ ਲੈ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। connect ਨੂੰ ਦਿੱਤਾ ਗਿਆ ਹੋਸਟਨਾਮ SSH ਹੋਸਟ ਕੁੰਜੀ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ, ਪ੍ਰੌਕਸੀ ਦੀ ਨਹੀਂ।
sock ਇੰਟਰਫ਼ੇਸ ਖੁੱਲ੍ਹਾ ਸਾਕਟ ਜਾਂ ਸਾਕਟ ਵਰਗੀ ਵਸਤੂ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ। ਇਹ ਤੁਹਾਡੇ ਲਈ HTTP ਦੀ ਗੱਲਬਾਤ ਨਹੀਂ ਕਰਦਾ। ਵਾਪਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਕਨੈਕਟਰ ਨੂੰ ਚਾਹੀਦਾ ਹੈ:
- ਪ੍ਰੌਕਸੀ ਨਾਲ ਜੁੜ ਕੇ ਮੰਜ਼ਿਲ ਲਈ ਵੈਧ CONNECT ਬੇਨਤੀ ਭੇਜਣਾ।
- ਸਮਰਥਿਤ ਕੋਈ ਵੀ ਪ੍ਰੌਕਸੀ ਪ੍ਰਮਾਣਿਕਤਾ ਪੂਰੀ ਕਰਨਾ ਅਤੇ ਸਫਲ ਟਨਲ ਸਥਿਤੀ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨਾ।
- ਪੂਰਾ ਪ੍ਰੌਕਸੀ ਹੈਡਰ ਭਾਗ ਪੜ੍ਹਨਾ, ਅੰਸ਼ਕ ਪੜ੍ਹਾਈ ਸੰਭਾਲਣਾ ਅਤੇ ਸੀਮਾ ਤੋਂ ਬਾਹਰਲੇ ਬਾਈਟ ਸੁਰੱਖਿਅਤ ਰੱਖਣਾ।
- ਸੈੱਟਅੱਪ ਸੀਮਤ ਕਰਨਾ ਅਤੇ ਰੱਦ ਕੀਤੇ/ਗਲਤ ਸਾਕਟਾਂ ਨੂੰ ਆਪਣੇ ਸਫ਼ਾਈ ਮਾਰਗ ਰਾਹੀਂ ਬੰਦ ਕਰਨਾ।
ਉਸ ਕੰਮ ਲਈ ਸੰਭਾਲਿਆ ਹੋਇਆ ਕਨੈਕਟਰ ਵਰਤੋ। ਇੱਕ ਪ੍ਰਾਪਤੀ ਬਫ਼ਰ ਵਿੱਚ ਅੰਗਰੇਜ਼ੀ ਸਫਲਤਾ ਵਾਕਾਂਸ਼ ਲੱਭਣ ਨਾਲ ਵੰਡੀਆਂ ਸਥਿਤੀ ਲਾਈਨਾਂ, ਬਦਲਦਾ ਕਾਰਨ ਪਾਠ ਅਤੇ ਅਧੂਰੇ ਹੈਡਰ ਖੁੰਝ ਜਾਂਦੇ ਹਨ। ਸਫਲ ਪ੍ਰੌਕਸੀ TCP ਕਨੈਕਸ਼ਨ ਸਵੀਕਾਰਿਆ SSH ਟਨਲ ਨਹੀਂ ਹੈ।
ਪ੍ਰੌਕਸੀ ਨੂੰ ਬੇਨਤੀ ਕੀਤਾ SSH ਪੋਰਟ ਮਨਜ਼ੂਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ; ਵੈੱਬ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਜਾਜ਼ਤ ਪੋਰਟ 22 ਤੱਕ CONNECT ਪਹੁੰਚ ਸਥਾਪਿਤ ਨਹੀਂ ਕਰਦੀ। 407 SSH ਲੌਗਇਨ ਤੋਂ ਪਹਿਲਾਂ ਹੁੰਦਾ ਹੈ, ਜਦੋਂ ਕਿ SSH ਖਾਤਾ ਫੇਲ੍ਹ ਟਨਲ ਤੋਂ ਬਾਅਦ ਹੁੰਦਾ ਹੈ। ਇਹ ਖਾਤੇ ਵੱਖਰੇ ਰੱਖੋ।
ਮੁਕੰਮ ਹੋਣ ’ਤੇ SSH ਕਲਾਇੰਟ ਅਤੇ ਕਨੈਕਟਰ ਦੀ ਮਲਕੀਅਤ ਵਾਲੇ ਸਰੋਤ ਬੰਦ ਕਰੋ। ਕਿਸੇ ਕੰਮ ਦਾ ਆਪਣੀ ਪੜ੍ਹਾਈ ਰੋਕਣਾ ਆਪਣੇ ਆਪ ਜੀਵਤ ਕਨੈਕਸ਼ਨ ਬੰਦ ਨਹੀਂ ਕਰਦਾ।