এসএসএইচ কনফিগারেশন: ডিফল্ট ব্যবহারকারীর নাম ওভাররাইড করুন


271

sshআমার ব্যবহারকারীর নামটি কী হওয়া উচিত তা কনফিগার করা কি সম্ভব ?

ডিফল্টরূপে এটি বর্তমান ব্যবহারকারীর নাম ব্যবহার করে, যা আমার ক্ষেত্রে সঠিক নয়।

আমি erণদানকারী ল্যাপটপে আছি, এবং আমার ব্যবহারকারীর নামটি রয়েছে loanerতবে আমি বলতে চাই sshযে আমার ব্যবহারকারীর নাম buck

বোনাস পয়েন্ট: বাড়িতে আমার ব্যবহারকারী নামটি বোগোলেমন। আমি যদি প্রতি হোস্টের নামটি কনফিগার করতে পারি তবে আরও ভাল।


3
স্ট্যাক ওভারফ্লো প্রোগ্রামিং এবং বিকাশের প্রশ্নের জন্য একটি সাইট। এই প্রশ্নটি অফ-টপিক হিসাবে উপস্থিত বলে মনে হচ্ছে কারণ এটি প্রোগ্রামিং বা উন্নয়ন সম্পর্কিত নয়। সহায়তা কেন্দ্রে আমি এখানে কোন বিষয় সম্পর্কে জিজ্ঞাসা করতে পারি তা দেখুন । সম্ভবত সুপার ইউজার বা ইউনিক্স ও লিনাক্স স্ট্যাক এক্সচেঞ্জ জিজ্ঞাসা করতে একটি ভাল জায়গা হবে। এছাড়াও দেখুন দেব অপ্স সম্পর্কে আমি কোথায় প্রশ্ন পোস্ট করব?
jww

3
এই যেমন একটি ভাল প্রশ্ন!
নিকোলাস এস এক্সু

সুপারিশকারীদের চেয়ে এখানে গৃহীত উত্তরগুলি ভাল মানের: বিশ্বব্যাপী (ডিফল্ট) ব্যবহারকারীর নির্দেশাবলীর ব্যবহার এবং মন্তব্যগুলি যুক্ত করে নির্দেশিক অগ্রাধিকারগুলি পরিষ্কার করে দেয়
রন্ডো

উত্তর:


449

configভিতরে নামক একটি ফাইল তৈরি করুন ~/.ssh। ফাইলের অভ্যন্তরে আপনি যুক্ত করতে পারেন:

Host *
    User buck

বা অ্যাড

Host example
    HostName example.net
    User buck

দ্বিতীয় উদাহরণটি একটি ব্যবহারকারীর নাম সেট করবে এবং এটি হোস্টনাম নির্দিষ্ট, যখন প্রথম উদাহরণটি কেবল একটি ব্যবহারকারীর নাম সেট করে। এবং যখন আপনি দ্বিতীয়টি ব্যবহার করেন তখন আপনাকে ব্যবহার করার প্রয়োজন হয় না ssh example.net; ssh exampleযথেষ্ট হবে।


134
এটি সম্ভবত উল্লেখ করা মূল্যবান যে অনুযায়ী man ssh_config: Since the first obtained value for each parameter is used, more host-specific declarations should be given near the beginning of the file, and general defaults at the end.সুতরাং Host *বিভাগটি সম্ভবত শেষে যেতে হবে।
কোডলিবিটার

9
এটি লক্ষণীয় যে কনফিগারেশন ফাইলটি উপরের থেকে নীচে ফ্যাশনে প্রক্রিয়া করা হবে, প্রতিটি ক্ষেত্রকে (ব্যবহারকারী, হোস্টনাম ...) পপুলেটেড এবং একাধিক হোস্টের নির্দেশনা মিলে গেলে পুনরাবৃত্তি ক্ষেত্রগুলি এড়িয়ে যাওয়া। আপনি সংজ্ঞায়িত তাহলে Host *, User jdoeউপরের এবং তারপর সংজ্ঞায়িত Host example, HostName abc.example.com, User root, প্রয়াস ssh exampleএকই যেন আপনি প্রবেশ করানো হবে ssh jdoe@abc.example.com। Ssh ডিফল্ট সংজ্ঞায়িত করতে (যেমন। User root), কনফিগারেশন ফাইলের নীচেHost * দিকনির্দেশনা থাকা দরকার ।
মিঃ বি।

17
এছাড়াও, .ssh / কনফিগারেশনে chmod 600 ভুলে যাবেন না
সোভেন

মনে রাখবেন যদি সেখানে একাধিক হোস্ট-নেম আছে সার্ভার দ্বারা প্রবেশযোগ্য (বা যদি আপনি একাধিক সার্ভার জন্য একই ডিফল্ট ব্যবহারকারীর নাম চান), আপনাকে প্রথমে লাইন পরিবর্তন করা উচিত Host server1.local example.net *.example.orgএবং মাত্র পরিত্রাণ পেতে HostNameলাইন।
লজ মেজেস্টé

44

আপনি যদি কেবল কয়েকবার শ্যাশ করতে চান , যেমন কোনও ধার করা বা ভাগ করা কম্পিউটারে, চেষ্টা করুন:

ssh buck@hostname

অথবা

ssh -l buck hostname

1
ধন্যবাদ, তবে আমি এর সাথে ইতিমধ্যে পরিচিত। এটি সর্বদা @ হোস্টকে বক করা হলে বক @ হোস্টটি নির্দিষ্ট করা অপ্রয়োজনীয় মনে হয় । আমি একটি কনফিগারেশন ফাইলে এই তথ্য উপস্থাপন করার জন্য একটি পদ্ধতি আবিষ্কার করার চেষ্টা করছি।
বুকজোর

1
আপনি কি ওরফে sshhostname = 'ssh বক @ হোস্টনেম' হিসাবে সাধারণ কিছু বিবেচনা করেছেন?
gpojd

হ্যাঁ আমার আছে. লিরাথ 2 এর উত্তর হ'ল আমি যা খুঁজছিলাম। আমি এটি আমার ডটফিলস ভাণ্ডারগুলিতে যাচাই করতে পারি এবং এটি নিয়ে আর কখনও চিন্তা করব না।
বুকজোর

আমি উপনামের মূলটি গ্রহণ করেছি কারণ আমি বিভিন্ন ক্লায়েন্টের জন্য মেশিনে সংযুক্ত হয়েছি, যেখানে প্রতিটি ক্লায়েন্টের পরিবেশে আমার ব্যবহারকারীর নাম আলাদা। আমি মনে করি যে অন্য পদ্ধতির প্রতিটি ক্লায়েন্টের জন্য ssh এবং সম্পর্কিত সেটিংস সেট করতে বিভিন্ন স্থানীয় শেল পরিবেশ থাকতে হবে। অথবা ক্লায়েন্ট প্রতি একটি ভিএম।
নিক স্পেস্ক

6

man ssh_config বলেছেন

ব্যবহারকারী

ব্যবহারকারী হিসাবে হিসাবে লগ ইন নির্দিষ্ট করে। এটি যখন বিভিন্ন মেশিনে আলাদা আলাদা ব্যবহারকারীর নাম ব্যবহার করা হয় তখন এটি কার্যকর হতে পারে। এটি কমান্ড লাইনে ব্যবহারকারীর নাম মনে রাখার সমস্যাটিকে বাঁচায়।


1
এই ক্ষেত্রে "পরিচয়" হ'ল "পাসওয়ার্ড" এর সাধারণ ব্যবহারের সমান। এই তথ্য যা আপনি অনুমোদন, কিন্তু সাহায্যের যারা এ প্রমাণীকৃত করতে চেষ্টা করছেন নির্দিষ্ট করে না যেমন
বুকজর

উফ। সেখানে একটি ব্যবহারকারী সেটিংস রয়েছে।
nes1983

0

আপনি একটি শর্টকাট ব্যবহার করতে পারেন। আপনার হোম ডিরেক্টরিতে একটি .bashrc ফাইল তৈরি করুন। সেখানে, আপনি নিম্নলিখিতগুলি যুক্ত করতে পারেন:

alias sshb="ssh buck@host"

আপনার টার্মিনালটিতে উপনামটি উপলভ্য করতে আপনি হয় আপনার টার্মিনালটি বন্ধ এবং খুলতে পারেন, বা রান করতে পারেন

source ~/.bashrc

তারপরে আপনি কেবল টাইপ করে সংযোগ করতে পারেন:

sshb

1
এটি একটি নির্দিষ্ট হোস্টের জন্য দুর্দান্ত, তবে আমি যেমন ট্রিলিয়ন বিভিন্ন সার্ভারের সাথে সংযোগ স্থাপন করি, এটি বরং অকেজো। বরং .ssh/configউপযুক্ত সেটিংস দিয়ে সেট আপ করুন । আমি *ওয়াইল্ড কেয়ারের সন্ধান করতে এসেছি (এবং শিখেছি যে এটি নীচে থাকা উচিত)।
mazunki

0

এমন একটি রুবি রত্ন রয়েছে যা আপনার sshকনফিগারেশন ফাইলটিকে ইন্টারফেস করে যা ডাকা হয় sshez

আপনাকে যা করতে হবে তা হ'ল sshez <alias> username@example.com -p <port-number>এবং তারপরে আপনি ব্যবহার করে সংযোগ করতে পারবেন ssh <alias>। আপনি এটি ব্যবহার করে আপনার এলিয়াসগুলি তালিকাভুক্ত sshez listকরতে পারেন এবং এগুলি ব্যবহার করে সহজেই মুছে ফেলতে পারবেন বলে এটি কার্যকর sshez remove alias

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