ওপেনশের নতুন সংস্করণে (পুরানো) হেক্স ফর্ম্যাটে এসএসএইচ কী ফিঙ্গারপ্রিন্ট পান


40

দেখে মনে হচ্ছে যে ওপেনশ কী কী আঙ্গুলের ছাপগুলি প্রদর্শন করে তা বদলেছে।

আমি একটি ক্লায়েন্ট মেশিন থেকে একটি সার্ভারে এসএসএস করার চেষ্টা করছি:

  • ক্লায়েন্ট: ওবুন্টু 14.04 ওপেনএসএসএইচ 6.6.1 চলছে
  • সার্ভার: ফ্রিবিএসডি ওপেনএসএইচ 7.2 পি 2 চলছে।

ক্লায়েন্টটি সার্ভারের কীটির এমডি 5 হ্যাশটিকে 16 জোড়া হেক্স অঙ্কের অনুক্রম হিসাবে রিপোর্ট করে:

a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a

সার্ভারটি শ্যা 256 হ্যাশ ব্যবহার করতে ডিফল্ট হয়েছে, তবে এই উত্তরের জন্য ধন্যবাদ আমি এটি চালিয়ে sha1 হ্যাশ দিতে বাধ্য করতে পারি:

[root@host /etc/ssh]# ssh-keygen -l -E sha1 -f ssh_host_ecdsa_key.pub

আমি ফলাফলটি দেখতে দেখতে চাই:

a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a

তবে পরিবর্তে আমি এটি পেয়েছি:

256 SHA1:KIh0ejR4O+RqrSq7JdGAASddRfI root@host.local (ECDSA)

আমার কাছে দেখে মনে হচ্ছে আঙুলের ছাপের একটি বেস 64 এনকোডড সংস্করণ এখন হেক্স অঙ্কের পরিবর্তে প্রদর্শিত হচ্ছে।

(পুরানো) ক্লায়েন্ট (কোলন বিচ্ছিন্ন হেক্স ডিজিট, শ 1 হ্যাশ) যে অনুরূপ সেগুলি একই কিনা তা যাচাই করার জন্য উল্লিখিত বিন্যাসে সার্ভারের কীটির চেকসামটি কীভাবে পাব?

সম্পাদনা: এসএসএইচ এর পুরাতন সংস্করণটি এমডি 5 চেকসাম দেয় , আমি ভুলভাবে ভেবেছি বলে শ 1 চেকসামটি দেয় না । -ই বিকল্পটিতে সেই চেকসামটি (বর্তমানে গ্রহণযোগ্য উত্তর হিসাবে উল্লেখ করা উচিত) ব্যবহার করা পছন্দসই আউটপুট দেয়।

উত্তর:


52

ক্লায়েন্টটি সার্ভারের কী এর sha1 হ্যাশটিকে 16 জোড়া হেক্স অঙ্কের অনুক্রম হিসাবে রিপোর্ট করে:

    a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a

এটি এমডি 5 হ্যাশ।

আপনি দৌড়াদৌড়ি দেখতে পাবেন

ssh-keygen -l -E md5 -f ssh_host_ecdsa_key.pub

আপনি আপনার উত্তরে ব্যাখ্যা করছেন এমন হরাকিরি ব্যতীত আপনার একই আঙুলের ছাপটি পাবেন।


1
দুর্ভাগ্যক্রমে, এটি কাজ করে না। আমার প্রশ্নে আপনার প্রস্তাবিত আদেশটি চালানোর ফলাফল রয়েছে। Ssh-keygen এর নতুন সংস্করণগুলি md5 হ্যাশটিকে একটি হেক্স স্ট্রিংয়ের পরিবর্তে একটি (বেস 64 এনকোডড?) স্ট্রিং হিসাবে দেয়। "সমস্ত যে হরকিরি" (একটি উপযুক্ত বিবরণ!) ওপেনশ্যাশ সরঞ্জামগুলির নতুন সংস্করণ থেকে পুরানো স্টাইলের হেক্স স্ট্রিংটি খুঁজে পেতে আমি সবচেয়ে সহজ উপায়।
স্টকাস্টিক

ফ্রিবিএসডি কিছু ভেঙে না ফেলে (বা MD5 সমর্থন সরিয়ে ফেলে), এটি কাজ না করার কোনও কারণ নেই। মনে রাখবেন যে আপনার আদেশটি sha1পরিবর্তে ভুলভাবে তালিকাবদ্ধ করে md5! আমি ওপেনশ-9.৯ দিয়ে উবুন্টু সংস্করণটি পুরানো করেছি, তবে এটি ঠিক কাজ করে।
জাকুজে

1
sha1 এর পরিবর্তে এমডি 5 ... আমি কীভাবে এটি মিস করেছি তা নিশ্চিত নয়। এটি প্রকৃতপক্ষে ম্যাচিং আউটপুট দেয়।
স্টোকাস্টিক

আমার বিপরীত সমস্যা আছে। আমার এমডি 5 আছে এবং অন্য ফর্ম্যাটটি চাই। আমি কীভাবে এটি পেতে পারি?
গ্যাব্রিয়েল স্টেপলস

1
উবুন্টুতে কমান্ড কার্যকর করা হলে কাজ করে। কমান্ডটি যখন সেন্টোতে কার্যকর করা হয় তখন কাজ করে না।
মেরিনোস আন

5

দেখা যাচ্ছে যে, এসএসএইচ কুকবুকের হাতে পুরানো হেক্স ফর্ম্যাটে ম্যানুয়ালি কী উত্পন্ন করার উপায় রয়েছে। আমি এটি ফ্রিবিএসডি সার্ভারে ব্যবহার করেছি।

awk '{মুদ্রণ $ 2}' key.pub | বেস 64-ডি | এমডি 5 | সেড এর /../ &&: g; এস /:। * $ // '

এটি ভেঙে:

awk '{মুদ্রণ $ 2}' key.pub

"কী.পব" তে দ্বিতীয় (স্থান পৃথক) কলামটি মুদ্রণ করুন, যা নিজেই মূল

বেস 64-ডি

কীটি বেস 64 এনকোডড। এটি কী এর আসল বাইটগুলি আউটপুট দেবে

MD5

এটি ssh কুকবুক পৃষ্ঠার রেসিপিটিতে উল্লিখিত 'md5sum -b' এর সমতুল্য

সেডস এর /../ &&: g; এস /:। * $ // '

এখানে দুটি সেড কমান্ড রয়েছে:

গুলি /../&:/ ছ;

লাইনটির প্রতিটি জুটির অক্ষর প্রতিস্থাপন করুন (শেষে 'g' পতাকাটির জন্য ধন্যবাদ) একই জোড়ায় একটি কোলন অনুসরণ করবে

এস /:। * $ // '

কোনও চলমান কোলন অপসারণ (কোনও স্থানের পরে কোলন প্রতিস্থাপন করুন এবং কিছু না করে রেখার শেষ অবধি))


4

এর মতো ক্ষেত্রে আমি নিম্নলিখিত ছোট স্ক্রিপ্টটি ব্যবহার করি (ডেবিয়ান এবং উবুন্টুতে পরীক্ষিত):

#!/bin/sh

# Gather the public ssh host keys for the given host
# and for each key print the fingerprint in hex format using the given
# checksum command (e.g. md5sum, sha256sum, ...)

if [ "$#" != 2 ]; then
  echo "usage: $0 hostname checksum_command"
  exit 1
fi

ssh-keyscan $1 2>/dev/null | while read -r line; do
  echo "Scanned key:"
  echo $line
  echo "$2 fingerprint:"
  echo $line | awk '{print $3}' | base64 -d | $2 -b | awk '{print $1}' | sed 's/../&:/g' | sed 's/:$//'
  echo
done

ব্যবহারের উদাহরণ:

$ myscript host.example.com md5sum
Scanned key:
host.example.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJUXq7vpcEpnZQxxiLw/tdg8ui4LoqbW1O5nGyLtGw49
md5sum fingerprint:
6c:ef:26:f7:98:ad:ed:5b:cc:ff:83:13:46:c9:f6:79

Scanned key:
host.example.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC4aLMajBvisnWNR2VX5K1KEkNeRmzlcs+svbY6/DiumMTZNtqB5duZjGkMmEbIclHaT7rQG9efAWsNhai5cJVRZ4VX1Gu/TLycEk4OY56MrrWjQYweSUr/W6E0eVCf7gh/ym2vMcevct4373fGDdlogk9Wa97lDV6PUXRy/znxRlo3tBc6KMOZIBoPu8UjeLr2ZPNPjO6hXX/96HbYfboxjhMl5eb8AWR0MGd4qU7RZZa2XhT4/4eSo8h9gEq8V3tasB24fMdw3K+HRiDyZm8uoNq+IrJlC22pBpzxRQtsv0Nd+uC5pK/UPVI3AFfdHMrmn7IHRio8aEaTloM6MRysGMtXE0kFQ/pV2U3TBmK/9wxID83qMDsQeUH4oTyjSJ0dCBuqgVQUg44z5qXVOK7gruvZSTyH7DsIyAXhlvLNwdtXPJ4HPQ90ZxLpiFWYgSPErQgbfgKeFkoSQiSP1M+UMkITCGRKMeUeDINheRJh/5y8+C3DjE54xyI4903ztyI7HqgVTOOFCtf+dlhCuS6+J20PFXEHDMdGCwmPQrKOG9Rb4NBxuvtn7MxJnwnlIu3nhDjr8SlZDOTvuK+bLpc4AZwEsNY7ANKFvj2mqE6hjkhu+x7khg84VQ6BKOmHIQnMrCpqICaNgB7Vz2d183BETrnfKQaPh79G5cQox5vwvw==
md5sum fingerprint:
b2:9c:cd:30:b1:38:e3:d1:17:d6:73:eb:03:9a:80:83

$ myscript host.example.com sha256sum
Scanned key:
host.example.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC4aLMajBvisnWNR2VX5K1KEkNeRmzlcs+svbY6/DiumMTZNtqB5duZjGkMmEbIclHaT7rQG9efAWsNhai5cJVRZ4VX1Gu/TLycEk4OY56MrrWjQYweSUr/W6E0eVCf7gh/ym2vMcevct4373fGDdlogk9Wa97lDV6PUXRy/znxRlo3tBc6KMOZIBoPu8UjeLr2ZPNPjO6hXX/96HbYfboxjhMl5eb8AWR0MGd4qU7RZZa2XhT4/4eSo8h9gEq8V3tasB24fMdw3K+HRiDyZm8uoNq+IrJlC22pBpzxRQtsv0Nd+uC5pK/UPVI3AFfdHMrmn7IHRio8aEaTloM6MRysGMtXE0kFQ/pV2U3TBmK/9wxID83qMDsQeUH4oTyjSJ0dCBuqgVQUg44z5qXVOK7gruvZSTyH7DsIyAXhlvLNwdtXPJ4HPQ90ZxLpiFWYgSPErQgbfgKeFkoSQiSP1M+UMkITCGRKMeUeDINheRJh/5y8+C3DjE54xyI4903ztyI7HqgVTOOFCtf+dlhCuS6+J20PFXEHDMdGCwmPQrKOG9Rb4NBxuvtn7MxJnwnlIu3nhDjr8SlZDOTvuK+bLpc4AZwEsNY7ANKFvj2mqE6hjkhu+x7khg84VQ6BKOmHIQnMrCpqICaNgB7Vz2d183BETrnfKQaPh79G5cQox5vwvw==
sha256sum fingerprint:
f4:61:58:e4:90:65:c4:70:98:7f:d1:40:0a:d8:d9:79:14:e6:91:dc:b6:ed:91:8c:c0:df:d9:65:db:dd:a0:18

Scanned key:
host.example.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJUXq7vpcEpnZQxxiLw/tdg8ui4LoqbW1O5nGyLtGw49
sha256sum fingerprint:
4b:73:d1:d7:80:87:46:64:56:71:64:10:7a:66:83:9b:c7:58:39:0b:16:74:dd:9b:d9:4b:e5:d5:61:7e:99:45
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.