হ্যাঁ একটি উত্তর স্ক্রিপ্ট উত্তর


24

আমি একটি git cloneগর্ত বাশ স্ক্রিপ্ট করার চেষ্টা করছি , তবে আমি প্রথমবার স্ক্রিপ্টটি চালাচ্ছি এবং সার্ভারটি এখনও জানা যায়নি স্ক্রিপ্টটি ব্যর্থ হয়েছে। আমার এরকম কিছু রয়েছে:

yes | git clone git@github.com:repo/repoo.git
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? 

তবে এটি উপেক্ষা করছে yes। আপনি কি জানেন কীভাবে git cloneচেনা হোস্টগুলিতে কী যুক্ত করতে বাধ্য করবেন ?


কি হবে echo yes | git clone git@github.com:repo/repoo.git?

3
@ এসফিলস, afaরাফেল: echo yesএকটি ভাল পদ্ধতির নয়: দ্বিতীয় বার আপনি কমান্ডটি চালাবেন, ssh আপনাকে চালিয়ে যেতে চাইবে কিনা জিজ্ঞাসা করবে না কারণ সার্ভার কী ইতিমধ্যে জানা যাবে।
গিলস 'অশুভ হওয়া বন্ধ করুন'

উত্তর:


21

আপনার ~/.ssh/configফাইলে নিম্নলিখিতগুলি যুক্ত করুন:

Host github.com
    StrictHostKeyChecking no

রিমোট শেল (গিট ক্লায়েন্টের সাহায্যে) প্রতিষ্ঠিত করতে ওপেন-এসএস ক্লায়েন্ট ব্যবহার করে যে কোনও কিছুতে গিথুব.কম এ মূল চেকগুলি এড়ানো উচিত।

এটি আসলে একটি খারাপ ধারণা যেহেতু চেকগুলি এড়িয়ে যাওয়ার কোনও ধরণের (আপনি স্বয়ংক্রিয়ভাবে হ্যাঁ মারেন বা চেকটি প্রথমে বাদ দিন) মধ্যবর্তী সুরক্ষার সমঝোতায় থাকা কোনও ব্যক্তির জন্য জায়গা তৈরি করে। আঙুলের ছাপটি পুনরুদ্ধার ও যাচাইকরণের জন্য আরও ভাল উপায় হ'ল known_hostsস্বয়ংক্রিয়ভাবে সংযুক্ত কিছু স্ক্রিপ্ট চালানোর প্রয়োজনের আগে এটি ফাইলে সংরক্ষণ করা উচিত ।


2
ফিঙ্গারপ্রিন্টটি পুনরুদ্ধার ও যাচাইকরণেরknown_hosts জন্য দৃ strong় অগ্রাধিকার সহ এবং এটি আগে ফাইলে সংরক্ষণ করুন
গিলস 'অশুভ হওয়া বন্ধ করুন'

1
আপনার উত্তরের জন্য অনেক ধন্যবাদ, আমি পরিচিত_হোস্টগুলিতে আঙুলের মুদ্রণ যুক্ত করার পদ্ধতির অনুসরণ করে শেষ করেছি। এটি আরও সুরক্ষিতের মতো :)
রাফায়েল

ওহ আমি এটি করতে পুতুল ব্যবহার করছি। যদি কেউ এটি ব্যবহার করতে আগ্রহী হন তবে এই রেসিপিটি হ'ল
রাফায়েল

5

yesআউটপুট y। আরএসএ কী গ্রহণযোগ্যতা প্রয়োজন yes। আপনি চেষ্টা করে দেখতে পারেন yes yes | git clone git@github.com:repo/repoo.git, যাতে yesআউটপুট yesপরিবর্তে y


5
কিছু কারণে, এটি আমার জন্য গিট ক্লোন দিয়ে কাজ করে না।
ম্যাট ভি।

না এটা আমার জন্য কাজ করে। এছাড়াও echo "yes" | ...না। আমি gitপাইপিং গ্রহণ করি না বলে মনে করি । সম্ভবত কিছু সংস্করণে?
উদোয়ান

3

ssh-keyscan -H github.com >> ~/.ssh/known_hostsক্লোনিংয়ের আগে চালানো কীটি যুক্ত করবে এবং প্রম্পটটি উপস্থিত হতে বাধা দেবে।

অবশ্যই এই পদ্ধতির একটি এমআইটিএম আক্রমণেও ঝুঁকিপূর্ণ।


1

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

আমি ম্যানুয়ালি সংযুক্ত করে এবং রেজিস্ট্রি কীটি সন্ধান করে এবং স্ক্রিপ্টের শুরুতে এটি আমদানি করে সমাধান করেছি। লিনাক্সে এটি একই সাধারণ ধারণা হওয়া উচিত: আপনি এই সার্ভারটি বিশ্বস্ত হোস্টগুলির একটি তালিকায় যুক্ত করতে চান যাতে আপনি প্রতিবার তাঁর উপর নির্ভর করেন কিনা ssh আপনাকে জিজ্ঞাসা করবে না।

আপনি একবার ম্যানুয়ালি সংযোগ স্থাপন করার পরে, কী ফাইলটি সন্ধান করুন এবং এটি আপনার পরিচিত_হোস্ট ফাইলগুলিতে যুক্ত করুন। এই পদ্ধতিতে ssh সেই ফাইলটি সন্ধান করবে, ধরে নিবেন আপনি কী করছেন এবং আপনার কাছে ফিঙ্গারপ্রিন্ট সম্পর্কে জিজ্ঞাসা না করেই এগিয়ে যান।

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