একটি ssh1 সার্ভারের মাধ্যমে একটি মাল্টি-হপ ssh টানেল স্থাপন


1

আমি একটি ssh1 সার্ভারের মাধ্যমে টানেলিং করতে সমস্যা করছি। এটি কোনও গ্রাহকের মেশিনে রয়েছে এবং না, তারা ssh2 এ আপডেট হবে না।


কিছুটা ব্যাকগ্রাউন্ড: গ্রাহকের গেটওয়ে দিয়ে আমি সফলভাবে সুড়ঙ্গ করতে পারি

localhost -> gateway.customer.example.com -> srv.customer.internal

এই কনফিগারেশন ব্যবহার করে

Host gateway
    Hostname gateway.customer.example.com
    IdentityFile ~/.ssh/mykey
    ...

Host srv-tunnel
    ProxyCommand ssh gateway -W srv.customer.internal:22
    IdentityFile ~/.ssh/mykey
    ...

এবং তারপর সহজভাবে

$ ssh srv-tunnel

যা দুর্দান্ত কাজ করে এবং কীফাইলটি ব্যবহার করে স্বয়ংক্রিয়ভাবে টানেলটি স্থাপন করে ~/.ssh/mykey


আমি এই মাল্টি-হপ টানেলের জন্য অনুরূপ কনফিগার ব্যবহার করার চেষ্টা করেছি:

localhost -> gateway.customer.example.com
                |
                v
             onemoregateway.customer.internal -> srv2.customer.internal

তবে এবার onemoregatewayএসএসএস 1 চলছে এবং এটি ncউপলভ্য নয় । আমি এসএসএস করতে পারি onemoregatewayএবং প্রম্পটটি আমাকে বলে The only permitted commands are ssh and scp.যে আমি উপরে যেমন একটি ফরোয়ার্ডিং সংযোগ স্থাপন করার চেষ্টা করি তখন ssh ত্রুটি সহ প্রস্থান করে stdio forwarding require Protocol 2

যাইহোক, আমি থেকে সরাসরি SSH করতে পারবে না onemoregatewayকরতে srv2, কারণ প্রাইভেট কী আমার স্থানীয় মেশিনে মাত্র। কিছু এমনকি আরো জটিল করতে, আমি এক কী প্রয়োজন gateway, এবং অন্য কী onemoregatewayএবং srv2

সুতরাং, আমি কিভাবে মাধ্যমে টানেল করতে পারি srv2?

আমার মনে হয় এটি কোনওভাবেই সম্ভব হতে পারে, যেহেতু আমার সহকর্মীরা উইন্ডোজে পুট্টি + পেজেন্ট ব্যবহার করে এটি করেছে তবে আমি লিনাক্সে আছি

উত্তর:


0

ঠিক আছে, আমি এটি করার একটি উপায় পেয়েছি, তবে মনে হচ্ছে সুরঙ্গটি স্বচ্ছ করার কোনও উপায় নেই।

Host gateway
    Hostname gateway.customer.example.com
    IdentityFile ~/.ssh/mykey
    ...

Host tunnel-to-srv2
    ProxyCommand ssh gateway -W onemoregateway.customer.internal
    IdentityFile ~/.ssh/myotherkey
    Protocol 1
    LocalForward 10022 srv2.customer.internal:22
    ...

Host srv2
    Hostname localhost
    Port 10022
    IdentityFile ~/.ssh/myotherkey
    Protocol 1
    ...

এবং এখন আমাকে করতে হবে

$ ssh tunnel-to-srv2

এবং, অবশেষে, একটি পৃথক টার্মিনালে *

$ ssh srv2

* আমি টানেলিংয়ের ssh প্রক্রিয়াটিকে ব্যাকগ্রাউন্ডে প্রেরণের কোনও উপায় খুঁজে পাচ্ছি না, এমনকি এটিও নয়-fNT


সম্পাদনা: দেখা যাচ্ছে, onemoregatewayসত্যই আছে ncএবং আমি এটি চালাতে পারি, তবে আমার পুরো পথটি ব্যবহার করা দরকার/bin/nc

সুতরাং, সর্বোপরি আমার কাছে এই কনফিগারেশনটি রয়েছে

Host gateway
    Hostname gateway.customer.example.com
    IdentityFile ~/.ssh/mykey
    ...

Host tunnel-to-srv2
    ProxyCommand ssh gateway -W onemoregateway.customer.internal
    IdentityFile ~/.ssh/myotherkey
    Protocol 1
    ...

Host srv2
    ProxyCommand ssh tunnel-to-srv2 /bin/nc srv2.customer.internal 22
    IdentityFile ~/.ssh/myotherkey
    Protocol 1
    ...

এবং আমি কেবল চালিয়ে স্বচ্ছ টানেল পেয়েছি

$ ssh srv2
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.