জেনকিন্স হোস্ট কী যাচাইকরণ ব্যর্থ হয়েছে


164

জেনকিন্স নিয়ে আমার একটি সমস্যা আছে , "গিট" সেট করে নীচের ত্রুটিটি দেখায়:

Failed to connect to repository : Command "git ls-remote -h https://person@bitbucket.org/person/projectmarket.git HEAD" returned status code 128:
stdout:
stderr: fatal: Authentication failed

আমি ssh দিয়ে পরীক্ষা করেছি :

git@bitbucket.org:person/projectmarket.git

এটি ত্রুটি:

Failed to connect to repository : Command "git ls-remote -h git@bitbucket.org:person/projectmarket.git HEAD" returned status code 128:
stdout:
stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly

আমি "এসএসএইচ কী" দিয়ে এই পদক্ষেপগুলিও করেছি।

জেনকিনসের অধীনে লগইন করুন

sudo su jenkins

জিনকিনস। এসএসএস ফোল্ডারে আপনার গিথব কীটি অনুলিপি করুন

cp ~/.ssh/id_rsa_github* /var/lib/jenkins/.ssh/

কীগুলি পুনরায় নামকরণ করুন

mv id_rsa_github id_rsa
mv id_rsa_github.pub id_rsa.pub

তবে এখনও জেনকিনসে গিট সংগ্রহস্থল কাজ করছে না ।

সাহায্যের মাধ্যমে ধন্যবাদ!



কোনও
জেনকিন

উত্তর:


183

jenkinsব্যবহারকারীর কাছে পরিবর্তন করুন এবং ম্যানুয়ালি কমান্ডটি চালান:

git ls-remote -h git@bitbucket.org:person/projectmarket.git HEAD

এসএসএইচের মাধ্যমে নতুন হোস্টের সাথে প্রথম সংযোগ করার সময় আপনি স্ট্যান্ডার্ড এসএসএইচ সতর্কতা পাবেন:

The authenticity of host 'bitbucket.org (207.223.240.181)' 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)?

লিখুন yesএবং এন্টার টিপুন। এর জন্য হোস্ট কী bitbucket.orgএখন ~/.ssh/known_hostsফাইলটিতে যুক্ত হবে এবং জেনকিন্সে আপনি আর এই ত্রুটিটি পাবেন না।


6
এটি দেখান: অনুমতি অস্বীকৃত (সর্বজনীন)। মারাত্মক: দূরবর্তী প্রান্তটি অপ্রত্যাশিতভাবে স্তব্ধ হয়ে গেল
এএম মেরিদা

6
ঠিক আছে, তবে এটি সম্পূর্ণ ভিন্ন ত্রুটি। এখন আপনাকে বিটবুককেট.অর্গ.এতে আপনার পাবলিক কীটি সংগ্রহস্থলটিতে যোগ করতে হবে।
সিটিসি

4
এখানে step ধাপ দেখুন: সংমিশ্রণ.এটিশালিয়ান.
com

2
"ওয়ার্কফর্ম" এর জন্য +1 এর ঠিক একই সমস্যা ছিল। যথাযথ ব্যবহারকারীর জন্য id_rsa তৈরি করেছেন, chmod-ed to jenkins এ, পাবলিক কী যুক্ত করেছেন, এখনও কার্যকর হয়নি। সুডো-জেনকিন্স হিসাবে গিটটি চেষ্টা করার পরে সমস্যাটি ঠিক করে ননন_হোস্টস ফাইলটি দেওয়া হয়েছিল।
সিবিদিবা

3
আপনার এটি জেনকিন্স চলমান ব্যবহারকারী হিসাবে চালানো দরকার। বেশিরভাগ সিস্টেমে, একটি সাধারণত এটি পৃথক ব্যবহারকারী হিসাবে চালায় (যেমন 'জেনকিনস' ব্যবহারকারী)। সুতরাং, বিটবুকিট.অর্গ.এর ঠিকানাটি ~ / .ssh / জ্ঞাত_হোস্টে যুক্ত করা হয়েছে তা নিশ্চিত করার জন্য আপনাকে সেই ব্যবহারকারীর স্যুইচ করতে হবে।
সিটিসি

43

জেনকিন্স একটি পরিষেবা অ্যাকাউন্ট, এটির নকশার দ্বারা শেল নেই। এটি সাধারণত পরিষেবাগুলির অ্যাকাউন্টগুলিতে গৃহীত হয়। ইন্টারেক্টিভভাবে লগ ইন করতে সক্ষম হওয়া উচিত নয়।

"জেনকিন্স হোস্ট কী যাচাইকরণ ব্যর্থ হয়েছে" সমাধান করতে নিম্নলিখিত পদক্ষেপগুলি করুন। আমি জিনকিন্সের সাথে মুরুরিয়াল ব্যবহার করেছি।

1) টার্মিনালে নিম্নলিখিত কমান্ড প্রয়োগ করুন

             $ sudo su -s /bin/bash jenkins

পাসওয়ার্ড প্রদান

2) নিম্নলিখিত কমান্ডটি ব্যবহার করে সরকারী বেসরকারী কী তৈরি করুন:

              ssh-keygen

আপনি আউটপুট হিসাবে দেখতে পারেন:

Generating public/private rsa key pair. 
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

3) এন্টার টিপুন -> কোনও পাসফ্রেজ দেবেন না -> এন্টার টিপুন

             Key has been generated

4) -> বিড়াল /var/lib/jenkins/.ssh/id_rsa.pub এ যান

5) id_rsa.pub থেকে কপি কী

6) বাশ থেকে প্রস্থান করুন

7) ssh@yourrepository

8) vi .ssh/authorized_keys

9) কীটি আটকান

10) প্রস্থান

11) ম্যুরালি সার্ভারে ম্যানুয়ালি লগইন করুন

দ্রষ্টব্য: Pls ম্যানুয়ালি লগইন করবেন অন্যথায় জেনকিনগুলি আবার ত্রুটি দেয় "হোস্ট যাচাইকরণ ব্যর্থ হয়েছে"

12) একবার ম্যানুয়ালি হয়ে গেলে, এখন জেনকিনসে যান এবং বিল্ড দিন

উপভোগ করুন !!!

শুভকামনা


এখানে কী পাসওয়ার্ডের জন্য অনুরোধ করা হয়েছে?
আইসফায়ার

26

অথবা আপনি ব্যবহার করতে পারেন:

ssh -oStrictHostKeyChecking=no host

এটি অনিরাপদ (মধ্য আক্রমণগুলির মধ্যে মানুষ) তবে সহজ সমাধান হবে।

এটি করার সর্বোত্তম উপায় হ'স্ট এবং আইপি ঠিকানার মধ্যে সঠিক ম্যাপিং তৈরি করা, তাই sshঅভিযোগ করবেন না:

#!/bin/bash

for domain in "github.com" "bitbucket.org"; do
    sed -i "/$domain/d" ~/.ssh/known_hosts
    line=$(ssh-keyscan $domain,`nslookup $domain | awk '/^Address: / { print $2 ; exit }'`)
    echo $line >> ~/.ssh/known_hosts
done

টুকরো টুকরো টুকরো


3
এটি আপনাকে সম্ভাব্য এমআইটিএম আক্রমণগুলির জন্য উন্মুক্ত করে।
সিটিসি

1
আপনি -oStrictHostKeyChecking = না যোগ করতে পারেন এবং একবার সংযোগ করতে পারেন, যা হোস্টটিকে পরিচিত_হোস্ট ফাইলের সাথে যুক্ত করবে (যখন আপনি কমান্ড লাইনে স্যাশ করবেন এবং পরিচিত_হোস্ট ফাইলটিতে কী যুক্ত করতে হ্যাঁ টাইপ করবেন) এবং তারপরে এই বিকল্পটি সরিয়ে ফেলুন।
কৃপণ

6

একই সমস্যা ছিল, আমি এটি ঠিক করে ফেলি:

কেবলমাত্র বর্তমান ব্যবহারকারীর জন্য id_rsa * এ অনুমতি পুনরায় সেট করুন কোনও গ্রুপ নেই অন্য no

chmod o-rwx ~/.ssh/id*
chmod G-rwx ~/.ssh/id*

ls -lart ~/.ssh/


-rw-------  1 jenkins nogroup  398 avril  3 09:34 id_rsa.pub
-rw-------  1 jenkins nogroup 1675 avril  3 09:34 id_rsa

এবং পরিষ্কার ~ / .ssh / জ্ঞান_হোস্টগুলি

এখন জেনকিন্স হিসাবে সংযুক্ত করুন

sudo su jenkins

জেনকিনস কমান্ড ব্যবহার করে দেখুন

git ls-remote -h git@bitbucket.org:user/project.git HEAD

যদি কোনও সমস্যা না দেখা দেয় তবে এখন জেনকিনগুলি রেপো সংযোগ করতে সক্ষম হবে (আমার পক্ষে - কমপক্ষে)


1
উপরোক্ত কমান্ডটি (chmod G-rwx ~ / .ssh / id *) গ্রুপের অনুমতি পরিবর্তনের জন্য ব্যর্থ হয়েছে। নীচে পছন্দসই হিসাবে কাজ করেছে। chmod g-rwx ~ / .ssh / id *
সমুদ্র


3
  • ত্রুটিটি এড়াতে আমরা কোনও ডিফল্ট sshd_config বৈশিষ্ট্য সম্পাদনা করছি না তা নিশ্চিত করুন

  • হোস্ট যাচাইকরণ ব্যর্থ হয়েছে - অবশ্যই known_hostsফাইলে হোস্টনামের অনুপস্থিত প্রবেশাধিকার

  • প্রক্রিয়া ব্যর্থ হচ্ছে যেখানে সার্ভারে লগইন করুন এবং নিম্নলিখিতটি করুন:

    1. প্রক্রিয়া চলমান ব্যবহারকারীকে সুডো

    2. ssh-copy-id destinationuser@destinationhostname

    3. এটি প্রথমবারের মতো অনুরোধ করবে, হ্যাঁ বলুন এবং এটি প্রথমবারের জন্য পাসওয়ার্ডও জিজ্ঞাসা করবে:

      The authenticity of host 'sample.org (205.214.640.91)' 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)? *yes*
      

      পাসওয়ার্ড প্রম্পট? পাসওয়ার্ড দিন

    4. এখন যে সার্ভার থেকে প্রক্রিয়া চলছে, তা করুন ssh destinationuser@destinationhostname। এটি একটি পাসওয়ার্ড ছাড়া লগইন করা উচিত।

      দ্রষ্টব্য: ব্যবহারকারীর .ssh ডিরেক্টরিতে ফাইলগুলির ডিফল্ট অনুমতিগুলি পরিবর্তন করবেন না , আপনি বিভিন্ন সমস্যা নিয়ে শেষ করবেন


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

3

কাজের হিসাবে (যেমন উইন্ডোজ স্লেভ), বিশ্বব্যাপী বৈশিষ্ট্যগুলিতে নিম্নলিখিত পরিবেশের পরিবর্তনশীলকে সংজ্ঞায়িত করুন:

GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"

জেনকিনস, বৈশ্বিক বৈশিষ্ট্য, পরিবেশের ভেরিয়েবল, GIT_SSH_COMMAND

দ্রষ্টব্য: আপনি যদি বিকল্পটি না দেখেন তবে আপনার সম্ভবত এটির জন্য EnvInject প্লাগইন প্রয়োজন ।


3

বিটবাকেট এবং গিথুব উভয় থেকে হোস্ট কী অনুলিপি করুন:

ssh root@deployserver 'echo "$(ssh-keyscan -t rsa,dsa bitbucket.org)" >> /root/.ssh/known_hosts'
ssh root@deployserver 'echo "$(ssh-keyscan -t rsa,dsa github.com)" >> /root/.ssh/known_hosts'

2

জেনকিনসফাইলে বা আপনি যেখানেই চান আপনার "গিট ইউআরএল" 'https "ইউআরএল ফর্ম্যাটটিতে ব্যবহার করতে পারেন সর্বোত্তম উপায়।

git url: 'https://github.com/jglick/simple-maven-project-with-tests.git'


2

, SSH

আপনি যদি এসএসএইচ দিয়ে এটি চেষ্টা করে চলেছেন তবে বিভিন্ন কারণে হোস্ট কী যাচাইয়ের ত্রুটি আসতে পারে all সমস্ত কারণ অতিক্রম করতে এই পদক্ষেপগুলি অনুসরণ করুন।

  1. পরিবেশ পরিবর্তনশীলটিকে হোম হিসাবে সেট করুন এবং .ssh ফোল্ডারের মূল ডিরেক্টরি হিসাবে ঠিকানা সরবরাহ করুন । যেমন: - যদি আপনার .ssh নামের ভিতরে রাখা হয় ফোল্ডারের । সি: / ব্যবহারকারী / নাম।
  2. এখন নিশ্চিত হয়ে নিন যে পাবলিক এসএসএইচ কীটি সংগ্রহস্থলের লিঙ্কেও সরবরাহ করা হচ্ছে। হয় এটি গিথুব বা বিটবাকেট বা অন্য কোনও।
  3. ওপেন গিট ব্যাশ এবং সংগ্রহস্থল থেকে প্রকল্পটি ক্লোন করার চেষ্টা করুন। এটি পরিচিত_হোস্ট ফাইলটিতে আপনার সংগ্রহস্থল URL যুক্ত করতে সহায়তা করবে, যা .ssh ফোল্ডারে স্বয়ংক্রিয়ভাবে তৈরি হচ্ছে।
  4. এখন জেনকিনগুলি খুলুন এবং একটি নতুন কাজ তৈরি করুন। তারপরে কনফিগার করতে ক্লিক করুন।
  5. গিটের অধীনে উত্স কোড পরিচালনায় ক্লোনিং URL সরবরাহ করুন। URL টি git@github.com / ......... বা ssh: // proge ........ দিয়ে শুরু করা উচিত should
  6. শংসাপত্রের আওতায় আপনার প্রকল্পের ক্লোনিং করা আপনার ভান্ডার ফর্মের ব্যবহারকারীর নাম এবং পাসওয়ার্ড যুক্ত করতে হবে। যে শংসাপত্র নির্বাচন করুন।
  7. এবং এখন প্রয়োগ করুন এবং কনফিগারেশন সংরক্ষণ করুন।
  8. বিঙ্গো! প্রকল্পটি নির্মাণ শুরু করুন। আমি আশা করি এখন আপনি কোনও হোস্ট কী যাচাইয়ের ত্রুটি পাবেন না!

2
  1. জেনকিনস হিসাবে লগইন করুন: "সুডো এস-এস / বিন / বাশ জেনকিনস"
  2. গিটটি কাঙ্ক্ষিত রেপোকে ক্লোন করে দেয় যা কী ত্রুটি ঘটায়
  3. এটি আপনাকে হ্যাঁ / না দেখিয়ে কী যুক্ত করতে বলবে (হ্যাঁ বা y লিখুন)

এটাই!

আপনি এখন জেনকিন্স কাজটি আবার চালাতে পারেন।

আমি আশা করি এটি আপনার সমস্যার সমাধান করবে।


2

আমি এই ইস্যুতে দৌড়ে এসেছি এবং সমস্যাটি দেখা গেল যে জেনকিন্স পরিষেবাটি জেনকিন্স ব্যবহারকারী হিসাবে চালিত হচ্ছে না। জেনকিন্স ব্যবহারকারী ঠিকঠাক হিসাবে কমান্ডগুলি চালাচ্ছেন।


1

চেষ্টা

ssh-keygen -R হোস্টনাম

-আর হোস্টনাম একটি পরিচিত_হোস্ট ফাইল থেকে হোস্টনেম সম্পর্কিত সমস্ত কী সরিয়ে দেয়। এই বিকল্পটি হ্যাশড হোস্টগুলি মুছতে কার্যকর

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