এটি খুঁজে পেতে পারে এমন সর্বজনীন কীগুলি সরবরাহ করা থেকে এসএসএস ক্লায়েন্টকে থামিয়ে দেবেন?


32

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

আমার ssh ক্লায়েন্টকে সমস্ত ssh কী অফার না করার কিছু উপায় আছে?


2
আপনি কেন প্রতিটি হোস্টের জন্য আলাদা কী চাইবেন? কীগুলি পাশাপাশি একক প্রশাসনিক ডোমেনের মধ্যে হোস্ট জুড়ে ভাগ করা যায়। স্পষ্টতই, আপনি নিজের কাজের মেশিনগুলির জন্য একটি এবং আপনার ব্যক্তিগত মেশিনের জন্য অন্যটি কী ব্যবহার করবেন, তবে কর্মক্ষেত্রে প্রতিটি মেশিনের জন্য পৃথক কী ব্যবহার করার পিছনে যুক্তিটি কী?
অ্যালেক্স হলস্ট

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

@ হুইজেনস আমি আপনার ঝুঁকি বিশ্লেষণের নথিটি দেখতে পছন্দ করব যার ফলস্বরূপ আপনাকে বেশ কয়েকটি এসএসএইচ কী ব্যবহার করতে হবে তবে একটি পরিষ্কার পাঠ্য কী থাকা ভাল। আপনি একটি লিঙ্ক পোস্ট করতে পারেন?
অ্যালেক্স হলস্ট

@ অ্যালেক্সহলস্ট আপনি এত "সরাসরি" হতে হবে না। আমার প্রথম উত্তরটি ছিল একাধিক কী জোড় থাকার কারণ সম্পর্কে। আমি মনে করি আপনাকে বেশ কয়েকটি দিয়েছি। এরপরে, আমাদের সকলকে কৌতূহল মোকাবেলা করতে হবে এবং কী নয়। আমার একটি পরীক্ষা সিস্টেম রয়েছে যার জন্য আমি এমন অ্যাপ্লিকেশনটি ব্যবহার করতে পারি না যা এসএসএইচের মাধ্যমে ডেটা টানেলিং করছে যা কী পাসওয়ার্ডটির জন্য অবিচ্ছিন্নভাবে অনুরোধ করা ছাড়াই সফ্টওয়্যারটি ব্যবহারযোগ্য নয়। সংস্করণগুলির বেমানানতার কারণে বা কী না তা এটি একটি ত্রুটি বলে মনে হচ্ছে। আমি যে কোনও এসএসএইচ লগইনের জন্য ইমেল বিজ্ঞপ্তি পাই এবং আমি এই বাক্সে একমাত্র লগইন করি। সুতরাং ঝুঁকি গ্রহণযোগ্য।
হিউজেন্স

উত্তর:


31

এর ম্যান পেজ অনুসারে এটি প্রত্যাশিত আচরণ ssh_config:

 IdentityFile
         Specifies a file from which the user's DSA, ECDSA or DSA authentica‐
         tion identity is read.  The default is ~/.ssh/identity for protocol
         version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa and ~/.ssh/id_rsa for
         protocol version 2.  Additionally, any identities represented by the
         authentication agent will be used for authentication.  

         [...]

         It is possible to have multiple identity files specified in configu‐
         ration files; all these identities will be tried in sequence.  Mul‐
         tiple IdentityFile directives will add to the list of identities
         tried (this behaviour differs from that of other configuration
         directives).

মূলত, IdentityFileএস উল্লেখ করে এস ক্লায়েন্টের কাছে ইতিমধ্যে উপস্থাপিত এসএসএইচ এজেন্টের বর্তমান তালিকায় কী যুক্ত করে।

আপনার .ssh/configফাইলের নীচে এই আচরণটি ওভাররাইড করার চেষ্টা করুন:

Host *
  IdentitiesOnly yes

আপনি হোস্ট স্তরেও এই সেটিংটি ওভাররাইড করতে পারেন, যেমন:

Host foo
  User bar
  IdentityFile /path/to/key
  IdentitiesOnly yes

4
ssh -o "IdentitiesOnly true" -v -A user@hostকোনও মেশিনে লগইন করতে আমি যা ব্যবহার করি তাও আপনি ব্যবহার করতে পারেন যার কাছে আমার কীগুলি নেই তবে আমি এজেন্ট-ফরওয়ার্ডিং যেতে চাই। ( -vভার্বোজ ডিবাগিংয়ের জন্য)।
21:40

1
@ টিউকগুলি এটি একটি দুর্দান্ত টিপ, তবে এটি yes(এবং না true) হওয়া উচিত নয় ?
এক্সেল

IdentitiesOnlyসর্বদা সহায়তা নাও করতে পারে, আপনাকে কোনও হোস্টকে বিশেষত বাদ দিতে হতে পারে; দেখতে superuser.com/questions/859661/...
aexl

38

যদিও অন্যরা এটির জন্য কনফিগারেশন-ভিত্তিক সমাধানগুলির সাথে ইঙ্গিত দিয়েছে, সম্ভবত এটি উল্লেখ করার মতো যে আপনি কমান্ড লাইনে সহজেই এই এককালীন কাজটি করতে পারেন:

ssh -o 'PubkeyAuthentication no' myhostname.mydomain

3
পারফেক্ট .. সমাধান আইএমএইচও
drAlberT

1
সঠিক এটির গ্রহণযোগ্য উত্তর হওয়া উচিত।
জেএম বেকার

11

জেমস স্নিঞ্জার এর সমাধান অনুসরণ করে আপনি কেবল একটি লাইন দিয়ে একটি ssh_config সেট করতে চান:

Host *.mycompany.com
  IdentityFile .ssh/id_dsa_mycompany_main

Host *.mycustomer.com
  IdentityFile .ssh/id_dsa_mycustomer

Host *
  RSAAuthentication no #this should be up top, avoid ssh1 at all costs
  PubkeyAuthentication no

আপনি যদি কোনও সাধারণ ডোমেইনে না থেকে অনেকগুলি মেশিনে একটি নির্দিষ্ট কীটির সাথে সংযোগ স্থাপন করেন তবে সেগুলি আপনার নিজের ডিএনএসে সমস্ত সিএনএম দেওয়ার বিষয়ে বিবেচনা করুন। আমি সমস্ত গ্রাহক সিস্টেমের সাথে এটি করি।


2

ব্যবহারকারীর 23413 এর সমাধানের মতো, আপনি নির্দিষ্ট হোস্টের জন্য (বা ওয়াইল্ডকার্ড প্যাটার্ন) সম্পূর্ণরূপে সর্বজনীন কী প্রমাণীকরণ অক্ষম করতে পারেন:

Host *.example.org
RSAAuthentication no        # SSHv1
PubkeyAuthentication no     # SSHv2

-1

আপনি যদি ssh -i / path / to / key দিয়ে কোনও নির্দিষ্ট কী ফাইলটিতে নির্দেশ করেন তবে এটি কেবলমাত্র অন্যটি এজেন্টের মধ্যে লোড করা থাকলেও এটি ব্যবহার করবে এবং আপনাকে পাসওয়ার্ডের জন্য অনুরোধ করা হবে না। আপনি edit / .ssh / কনফিগারেশন সম্পাদনা করতে পারেন এবং এর মতো কিছু বিজ্ঞাপন করতে পারেন ...

হোস্ট foo.example.com
আইডেন্টিটি ফাইল .ssh / id_rsa_foo.example.com

আপনিও করতে পারেন ...

হোস্ট *
.example.org আইডেন্টিটি ফাইল .ssh / id_rsa_example.org


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