সুতরাং, আমি নীচে প্রদর্শিত হিসাবে গিট রেপো ক্লোনিংয়ের অচেতন হোস্ট ম্যানুয়াল মিথস্ক্রিয়াকে বাইপাস করার একটি জাগতিক উপায় অনুসন্ধান করছিলাম:
brad@computer:~$ git clone git@bitbucket.org:viperks/viperks-api.git
Cloning into 'viperks-api'...
The authenticity of host 'bitbucket.org (104.192.143.3)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)?
আরএসএ কী ফিঙ্গারপ্রিন্ট নোট করুন ...
সুতরাং এটি একটি এসএসএইচ জিনিস, এটি এসএসএইচ গিটের জন্য কাজ করবে এবং সাধারণভাবে এসএসএইচ সম্পর্কিত জিনিসগুলি ...
brad@computer:~$ nmap bitbucket.org --script ssh-hostkey
Starting Nmap 7.01 ( https://nmap.org ) at 2016-10-05 10:21 EDT
Nmap scan report for bitbucket.org (104.192.143.3)
Host is up (0.032s latency).
Other addresses for bitbucket.org (not scanned): 104.192.143.2 104.192.143.1 2401:1d80:1010::150
Not shown: 997 filtered ports
PORT STATE SERVICE
22/tcp open ssh
| ssh-hostkey:
| 1024 35:ee:d7:b8:ef:d7:79:e2:c6:43:9e:ab:40:6f:50:74 (DSA)
|_ 2048 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40 (RSA)
80/tcp open http
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 42.42 seconds
প্রথমে আপনার প্রতিদিনের ড্রাইভারে এনএম্যাপ ইনস্টল করুন। খোলা বন্দর সনাক্তকরণ এবং এটি - এসএসএইচ ফিঙ্গারপ্রিন্টগুলি ম্যানুয়ালি যাচাই করার জন্য এনএম্যাপ নির্দিষ্ট কিছু জিনিসের জন্য অত্যন্ত সহায়ক। কিন্তু, আমরা যা করছি তা ফিরে।
ভাল. আমি হয় একাধিক জায়গাগুলি এবং মেশিনগুলিতে যাচাই করেছিলাম সেগুলি নিয়ে আপস করছি - বা সব কিছুরই ক্ষুধার্ত হ'ল এর বিশদ ব্যাখ্যা যা ঘটছে তা হ'ল।
সেই 'ফিঙ্গারপ্রিন্ট' হ'ল একই আঙুলের ছাপে একাধিক স্ট্রিংয়ের সমাধানের ঝুঁকিতে আমাদের মানুষের সুবিধার্থে একতরফা অ্যালগরিদম দিয়ে ছোট করা একটি স্ট্রিং। এটি ঘটে, তাদের সংঘর্ষ বলা হয়।
নির্বিশেষে, মূল স্ট্রিংয়ে ফিরে যান যা আমরা নীচে প্রসঙ্গে দেখতে পারি।
brad@computer:~$ ssh-keyscan bitbucket.org
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-128
no hostkey alg
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-129
bitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-123
no hostkey alg
সুতরাং, সময়ের আগে, আমাদের কাছে মূল হোস্টের কাছ থেকে একটি ফর্ম সনাক্ত করার উপায় রয়েছে।
এই মুহুর্তে আমরা ম্যানুয়ালি স্বয়ংক্রিয়ভাবে যতটা ঝুঁকির মধ্যে আছি - তারে মেলে, আমাদের কাছে বেস ডেটা রয়েছে যা আঙুলের ছাপ তৈরি করে, এবং আমরা ভবিষ্যতে সেই বেস ডেটা (সংঘর্ষ রোধে) জিজ্ঞাসা করতে পারি।
এখন সেই স্ট্রিংটি এমনভাবে ব্যবহার করা যাতে কোনও হোস্টের সত্যতা সম্পর্কে জিজ্ঞাসা করা যায় ...
এই ক্ষেত্রে জ্ঞাত_হোস্টস ফাইলটি সাদামাটা এন্ট্রি ব্যবহার করে না। আপনি হ্যাশ এন্ট্রিগুলি দেখলে তাদের জানবেন, তারা xyz.com বা 123.45.67.89 এর পরিবর্তে এলোমেলো অক্ষরযুক্ত হ্যাশগুলির মতো দেখায়।
brad@computer:~$ ssh-keyscan -t rsa -H bitbucket.org
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-128
|1|yr6p7i8doyLhDtrrnWDk7m9QVXk=|LuKNg9gypeDhfRo/AvLTAlxnyQw= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==
প্রথম মন্তব্যের রেখাটি উত্সাহজনকভাবে দেখায় - তবে আপনি ">" বা ">>" কনভেনশনের মাধ্যমে একটি সাধারণ পুনর্নির্দেশের সাহায্যে এ থেকে মুক্তি পেতে পারেন।
যেহেতু আমি "হোস্ট" এবং বিশ্বাস সনাক্ত করতে অবিযুক্ত ডেটা প্রাপ্ত করার জন্য যথাসাধ্য চেষ্টা করেছি, তাই আমি আমার _ / .ssh ডিরেক্টরিতে আমার পরিচিত_হোস্ট ফাইলটিতে এই সনাক্তকরণটি যুক্ত করব। যেহেতু এটি এখন একটি পরিচিত হোস্ট হিসাবে চিহ্নিত হবে, তাই আপনি যখন তরুণ ছিলেন তখন আমি উপরে উল্লিখিত প্রম্পটটি পাব না।
আমার সাথে লেগে থাকার জন্য ধন্যবাদ, আপনি এখানে যান। আমি বিটবাকেট আরএসএ কী যুক্ত করছি যাতে আমি আমার গিট সংগ্রহস্থলগুলির সাথে সিআই ওয়ার্কফ্লোয়ের অংশ হিসাবে একটি ইন্টারঅ্যাক্টিভ পদ্ধতিতে ইন্টারেক্ট করতে পারি তবে আপনি যা চান তা করুন do
#!/bin/bash
cp ~/.ssh/known_hosts ~/.ssh/known_hosts.old && echo "|1|yr6p7i8doyLhDtrrnWDk7m9QVXk=|LuKNg9gypeDhfRo/AvLTAlxnyQw= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==" >> ~/.ssh/known_hosts
সুতরাং, এইভাবে আপনি আজকের জন্য কুমারী থাকবেন। আপনি নিজের সময়ে অনুরূপ নির্দেশনা অনুসরণ করে গিথুব দিয়েও এটি করতে পারেন।
আমি অনেকগুলি স্ট্যাক ওভারফ্লো পোস্ট দেখেছি যা আপনাকে কোনও ধরণের চেকিং ছাড়াই প্রোগ্রামালিমে কীটি অন্ধভাবে যুক্ত করতে বলছে add আপনি বিভিন্ন নেটওয়ার্কে বিভিন্ন মেশিন থেকে কীটি যত বেশি চেক করবেন, তত বেশি আস্থা রাখতে পারেন যে হোস্ট যাকে বলেছে তা হল - এবং এটিই সুরক্ষার এই স্তরটি থেকে আশা করতে পারেন best
ভুল
ssh -oStrictHostKeyChecking = হোস্টনাম নেই [কমান্ড]
ভুল
ssh-keycan -t rsa -H হোস্টনেম >> ~ / .ssh / ज्ञात_হোস্টস
দয়া করে উপরের যে কোনও একটি কাজ করবেন না। আপনাকে মধ্যের আক্রমণে থাকা কোনও ব্যক্তির মাধ্যমে আপনার ডেটা স্থানান্তর নিয়ে কেউ এড়িয়ে যাওয়ার সম্ভাবনা বাড়ানোর সুযোগ দেওয়া হয়েছে - সেই সুযোগটি গ্রহণ করুন। পার্থক্যটি আক্ষরিকভাবে যাচাই করছে যে আপনার কাছে থাকা আরএসএ কী হ'ল বোনা ফাইড সার্ভারের মধ্যে একটি এবং এখন আপনি কীভাবে সেই তথ্যটি তুলনা করার জন্য পান যাতে আপনি সংযোগটিতে বিশ্বাস রাখতে পারেন। শুধু মনে রাখবেন বিভিন্ন কম্পিউটার এবং নেটওয়ার্কের আরও তুলনা সাধারণত সংযোগটি বিশ্বাস করার আপনার ক্ষমতা বাড়িয়ে তুলবে।