হোস্টনামগুলির একটি তালিকা সহ একটি ক্রিপ্টযুক্ত .ssh / ज्ञात_হোস্টের হোস্টনামগুলি কীভাবে ডিক্রিপ্ট করবেন?


14

আমি হোস্টনেমগুলির একটি তালিকা পাস করে পরিচিত_হোস্ট ফাইলের মধ্যে ssh হোস্টনামগুলি ডিক্রিপ্ট করার জন্য (আনহশ) স্ক্রিপ্ট সন্ধান করার চেষ্টা করব

সুতরাং, ঠিক এর বিপরীতে করতে :

ssh-keygen -H -f known_hosts

অথবা এছাড়াও, এসএসএস কনফিগারেশনের জন্য হ্যাশকেইনহোস্টগুলি নো তে সেট করা থাকলে:

ssh-keygen -R know-host.com -f known_hosts
ssh-keyscan -H know-host.com >> known_hosts

তবে হোস্ট কীটি পুনরায় ডাউনলোড না করেই (এসএসএস-কিস্ক্যান দ্বারা সৃষ্ট)।

কিছুটা এইরকম:

ssh-keygen --decrypt -f known_hosts --hostnames hostnames.txt

যেখানে হোস্টনেমস.টিএসটিএসটিতে হোস্টনামগুলির একটি তালিকা রয়েছে।


হোস্টনামগুলি এন্ট্রিগুলির অংশ known_hosts। ডিক্রিপ্ট করার কী আছে?
মুরু

2
আমি একটি ক্রিপ্টেড ज्ञात_হোস্ট ফাইলের অর্থ। যেখানে ssh কনফিগারেশন হ্যাশকেইনহোস্টগুলি হ্যাঁ। আমি শিরোনাম পরিবর্তন করেছি।
Xorax

উত্তর:


22

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

আপনার কাছে হোস্টের নামের একটি তালিকা থাকলে আপনি তাদের এটিকে হোস্টের নাম দিয়ে পাস করে ssh-keygen -Fপ্রতিস্থাপন করতে পারেন ।

while read host comment; do
  found=$(ssh-keygen -F "$host" | grep -v '^#' | sed "s/^[^ ]*/$host/")
  if [ -n "$found" ]; then
    ssh-keygen -R "$host"
    echo "$found" >>~/.ssh/known_hosts
  fi
done <hostnames.txt

¹ বাস্তবসম্মত অর্থে, এটা সকল কম্পিউটারে বিদ্যমান আজ আর লাগবে মহাবিশ্বের বর্তমান বয়সের তুলনায় এটা করতে অর্থাৎ।


13

Ssh-keygen (1) ম্যান পৃষ্ঠাটি -F hostnameবিকল্পটির জন্য বলেছে :

নির্দিষ্ট হওয়া হোস্টনামটি একটি ज्ञात_হোস্টস ফাইলে অনুসন্ধান করুন, যে কোনও ঘটনার সন্ধান করুন listing এই বিকল্পটি হ্যাশড হোস্টের নাম বা ঠিকানাগুলি সন্ধানের জন্য দরকারী এবং -Hহ্যাশ ফর্ম্যাটে পাওয়া কীগুলি মুদ্রণের বিকল্পের সাথেও ব্যবহার করা যেতে পারে ।

এটি আপনি যা চান তা মনে হচ্ছে।


এটি হ্যাশ হোস্টের নামের সাথে লাইনটি ফেরত দেয়। আমি এটি পরিচিত_হোস্ট ফাইলটিতে প্রতিস্থাপন করতে এটি আনসাশ করতে চাই। প্রতিটি লাইনকে বিশ্লেষণ করার জন্য এটির স্ক্রিপ্ট দরকার, এটি আন-হ্যাশ করে এবং তারপরে এটি পরিচিত_হোস্ট ফাইলটিতে প্রতিস্থাপন করুন।
Xorax

2
@ নোরাক্স হ্যাঁ, তবে এই আদেশের সাহায্যে আপনি হ্যাশ হোস্টের নামটি পুনরুদ্ধার করতে পারেন এবং known_hostsফাইলটিতে এটি প্রতিস্থাপন করতে পারেন sed
ভিঙ্ক 17
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.