কিছু এসএস সেশন কেন স্বতঃসম্পূর্ণ এবং কিছু না অফার করে?


10

খুব নবাগত প্রশ্ন!

আমি দুটি ভিন্ন সার্ভারে ছুঁয়ে যাচ্ছি, একই অ্যামাজন এডাব্লুএস ক্লাস্টারের উভয় অংশ। তারা আমার দ্বারা চালিত হয় না।

একটি ssh সেশনে, টার্মিনালটি আমাকে স্বতঃপূরণ করতে দেয়। অন্য অধিবেশনে, এটি হয় না - আমি আশা করি এটি করা উচিত।

এটি কেন - এটি কোনও সার্ভার প্রশাসক দ্বারা সেট করা বিকল্প?

এবং আমি এটি সম্পর্কে কিছু করতে পারি?

ধন্যবাদ!

উত্তর:


15

এটি সত্যই কোনও প্রোগ্রামিংয়ের প্রশ্ন নয়, তবে এটি আপনার শেলের সাথে সম্পর্কিত। আপনি bashশেলটি শুরু করার চেষ্টা করতে পারেন ( bashপ্রম্পটে টাইপ করে) এবং আপনি স্বয়ংক্রিয়ভাবে সম্পূর্ণ করতে পারেন কিনা তা দেখুন।

যদি এটি কাজ করে তবে আপনি which bashএটির অবস্থান যাচাই করতে এবং তারপরে chsh -s /bin/bashস্থায়ীভাবে নিজের শেলটি সেট করতে ব্যবহার করতে পারেন ।

উপলব্ধ শেলগুলির একটি তালিকা পাওয়া যাবে /etc/shells


আমি কোনও কারণে আমার শেল পরিবর্তন করতে পারি না। এটি রুট হিসাবে করার উপায় আছে? You may not change the shell for 'counterstrike'.
টোমা জ্যাটো - মনিকা

3

এটি শেলটির সংমিশ্রণ যা আপনার এসএস সেশনে পাশাপাশি এটির কনফিগারেশনে ব্যবহৃত হচ্ছে।

আপনার শেলটি স্বতঃপূরণ সমর্থন করতে পারে এটি এটির জন্য কনফিগার করা নাও হতে পারে। আপনি যদি ব্যাশ শেল ব্যবহার করছেন তবে স্বতঃপূরণ দেওয়ার জন্য আপনি নীচের জন্য আপনার স্থানীয় .bashrc ফাইলটি সম্পাদনা করতে পারেন।

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

1
কমান্ড লাইন বিকল্পগুলি, সার্ভারের নামগুলি, ভিসিএস সংগ্রহস্থল ডিরেক্টরিগুলি, ... যেমন আরও উন্নত সমাপ্তির জন্য বাশ সম্পূর্ণ করার প্যাকেজটির প্রয়োজন। কমান্ড, ডিরেক্টরি, ফাইলের নাম, ভেরিয়েবল এবং ব্যবহারকারীর নাম এটি সম্পূর্ণরূপে কাজ করে।
ak2

2

ইউনিক্সে আমার নিজের উত্তর থেকে অনুলিপি করা হয়েছে । এসই :

দেখে মনে হচ্ছে বিশেষত উবুন্টুতে প্রবেশের প্রবেশগুলি ~/.ssh/known_hostsহ্যাশ করা হয়েছে , সুতরাং এসএসএইচ সমাপ্তি সেগুলি পড়তে পারে না। এটি একটি বৈশিষ্ট্য, না একটি বাগ সংশোধন করা হয়। এমনকি যুক্ত HashKnownHosts noকরে ~/.ssh/configএবং /etc/ssh/ssh_configআমি হোস্ট হ্যাশিং প্রতিরোধ করতে অক্ষম ছিল।

যাইহোক, হোস্ট যে আমি আগ্রহী এছাড়াও পাওয়া যায় ~/.ssh/config। বাশ সমাপ্তির জন্য এখানে একটি স্ক্রিপ্ট রয়েছে যা সেই ফাইল থেকে প্রবেশিকা পড়বে:

_ssh() 
{
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    opts=$(grep '^Host' ~/.ssh/config | awk '{print $2}')

    COMPREPLY=( $(compgen -W "$opts" -- ${cur}) )
    return 0
}
complete -F _ssh ssh

Script স্ক্রিপ্টটি এতে রাখুন /etc/bash_completion.d/sshএবং তারপরে নিম্নলিখিত কমান্ডটি দিয়ে এটি উত্স করুন:

$ . /etc/bash_completion.d/ssh

আমি এই গাইডটি অমূল্য পেয়েছি এবং এটি ছাড়া আমি এটির স্ক্রিপ্ট করতে সক্ষম হত না। স্টিভ কেম্পকে সেই দুর্দান্ত চিত্রটি লেখার জন্য ধন্যবাদ !


1

আইআইআরসি এটি একটি সমস্যাও হতে পারে যা sh / .ssh / ज्ञात_হোস্টগুলিতে হোস্টের নামগুলি হ্যাশ করে দেয়

আমি জানি বেশিরভাগ স্থাপনাগুলি সমাপ্তির জন্য উপলব্ধ হোস্টগুলির তালিকার উত্স হিসাবে ~ / .ssh / ज्ञात_হোস্টগুলি ব্যবহার করে তবে কিছু সিস্টেম "হ্যাশকোনাথহোস্ট হ্যাঁ" সেট করতে শুরু করে, যা পরিচিত_হোস্টগুলি উত্স হিসাবে ব্যবহার নিষিদ্ধ করে ....

যদি আপনার পরিচিত হোস্ট লাইনগুলি এরকম কিছু দিয়ে শুরু হয়

|1|BWO5qDxk/cFH0wa05JLdHn+j6xQ=|rXQvIxh5cDD3C4

তারপরে হ্যাশিং সক্রিয় করা হয়।

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