Ssh_config এর প্রক্সিকমন্ড একটি দূরবর্তী মেশিনে সংযুক্ত হওয়ার আগে একটি স্থানীয় কমান্ড চালাতে পারে?


11

কোনও নির্দিষ্ট দূরবর্তী মেশিনে সংযুক্ত হওয়ার আগে আমাকে একটি নির্দিষ্ট স্থানীয় কমান্ড চালাতে হবে। পরিবর্তে ssh me@remote.machineআমাকে করতে হবে

local_command
ssh me@remote.machine

আমি এটি স্বয়ংক্রিয় করতে চাই যাতে আমাকে কেবল করতে হবে ssh remote.machine

আমি জানি যে আমি নিজের sshস্ক্রিপ্টটি কল করে শেল স্তরে এটি অর্জন /usr/bin/sshকরতে পারি, তবে আমি কি প্রক্সিকমন্ড বিকল্পটি ব্যবহার করে এটি করতে পারি ssh_config?

যতদূর আমি এটি বুঝতে পারি, আমার মতো কিছু দরকার

Host remote.machine
    ProxyCommand local_command; ssh me@remote.machine

আমার ~/.ssh/configফাইলে, তবে ঠিক এটি নয় কারণ এটি বিজ্ঞপ্তিযুক্ত!

উত্তর:


9

যদি ব্যবহার করে থাকেন তবে ProxyCommandআপনাকে অবশ্যই /usr/bin/ncসার্ভারটি সংযুক্ত করার মতো কিছু ব্যবহার করতে হবে ।

সংযুক্ত হওয়ার আগে আপনার কমান্ডটি চাওয়ার জন্য আপনাকে sh -c "command list"দুটি কমান্ডকে এক হিসাবে মার্জ করতে হবে।

Host remote.machine
    ProxyCommand sh -c "local_command; /usr/bin/nc %h %p"

আরও:

আপনার local_commandযদি খুব জটিল হয় তবে আপনি একটি স্ক্রিপ্ট ব্যবহার করতে পারেন:

cat my_connect.sh
#!/bin/bash

local_command
/usr/bin/nc "$1" "$2"

Ssh কনফিগারেশনে পরিণত হয়:

Host remote.machine
        ProxyCommand /path_to_my_connect.sh %h %p

শেষে, আপনি নিজের নিজের প্রক্সিটি যুক্ত করতে পারেন /usr/bin/nc


1

আপনি যে পৃষ্ঠাটি লিঙ্ক করেছেন তার উদাহরণটি ব্যবহার করুন:

ProxyCommand /usr/bin/nc -X connect -x 192.0.2.1:8080 %h %p

প্রক্সি (192.0.2.1:8080 চলমান প্রক্সি) এর সাথে সংযোগ স্থাপনের জন্য এনসি (নেটকাট) কে অনুরোধ করে এবং% h এবং% p কে ssh কমান্ডে (% h = হোস্টনাম,% p = পোর্ট) পাস করে

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