কোন "অ্যাক্সেস রাইটস" গিটল্যাব সংগ্রহস্থলের অ্যাক্সেসকে বাধা দিতে পারে?


14

আমি একটি নতুন ক্লিন সার্ভারে গিটল্যাব (6.5.1) সেটআপ করার চেষ্টা করছি। সবকিছু কাজ করে বলে মনে হচ্ছে, তবে গিট কোনও প্রকল্পে এগিয়ে যেতে অক্ষম। সদ্য নির্মিত প্রকল্প পৃষ্ঠা থেকে আদেশগুলি অনুসরণ করা এবং ssh এর মাধ্যমে রিমোটে চাপ দেওয়া:

$ git push -u origin master
fatal: Could not read from remote repository.

Please make sure you have the correct access
rights and the repository exists.

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

  • বাকি ssh কী

    এটি কোনও ক্লিন সেটআপ যা কোনও বাকী ছাড়াই। আমার কীটি অনুমোদিত কী ফাইলগুলিতে সঠিকভাবে যুক্ত হয়েছে এবং কেবলমাত্র তালিকাভুক্ত।

  • ডিবাগ লগিংয়ের সাথে এসএসএস চালানো রুবি এনভায়রনমেন্ট ওয়ার সম্পর্কিত ত্রুটি দেখায়।

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

    debug1: Sending command: git-receive-pack 'username/reponame.git'
    debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
    debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
    debug1: channel 0: free: client-session, nchannels 1
    debug1: fd 0 clearing O_NONBLOCK
    debug1: fd 1 clearing O_NONBLOCK
    
  • গিটল্যাব-শেল পরিবেশের সাথে সমস্যা।

    উপরের একই ত্রুটি বার্তার সাথে অন্য অনেকের বিপরীতে, আমার গিটল্যাব-শেল চেক স্ক্রিপ্ট স্বাস্থ্যের একটি পরিষ্কার বিল প্রদান করে:

    % sudo -u gitlab -H ~gitlab/gitlab-shell/bin/check   
    Check GitLab API access: OK
    Check directories and files: 
            /var/lib/gitlab/repositories: OK
            /var/lib/gitlab/.ssh/authorized_keys: OK
    Test redis-cli executable: redis-cli 2.8.5
    Send ping to redis server: PONG
    
  • পুনঃসূচনা করুন {ইউনিকর্ন, সাইডকিক, রিডিস}

    এক বা একাধিক পরিষেবা পুনর্সূচনাগুলি এটিকে সাফ করে দেয় এমন প্রতিবেদনগুলি এখানে প্রযোজ্য বলে মনে হয় না। এটি কোনও ডিমেমন ফিক্সগুলি রিলিয়েড করে এমন একসন্তান সমস্যা নয়।

  • রেপো শারীরিকভাবে তৈরি হচ্ছে না

    তবে তা হয়। প্রতিবার প্রথমবারের মতো, বেয়ার গিট রেপো ~gitlab/repositories/username/reponame.gitপ্রতিবার তৈরি হবে এবং মনে হয় সঠিক অনুমতি রয়েছে।

  • গিটল্যাব-শেল এপিআই সার্ভারের সাথে কথা বলতে পারে না কারণ ক) ডিএনএস সমস্যা, খ) ভুল আইপি / পোর্ট / ইন্টারফেস বাইন্ডিং সি) ট্রেলিং স্ল্যাশ নেই / না থাকা।

    চেক স্ক্রিপ্টটি বলে যে এপিআই অ্যাক্সেস ঠিক আছে।

    আমি এনজিনেক্স চালাচ্ছি না, সুতরাং ডিফল্ট আইপি বাইন্ডিং ইস্যুটি এন / এ সম্পর্কিত।

    আমি উভয় চেষ্টা করেছি *:8080এবং শ্রোতার 127.0.0.1:8080জন্য মূল্য unicorn.yml

    এর বাইরেও, আমি লোকালহোস্ট, 127.0.0.1 এর বিভিন্ন পুনরাবৃত্তি এবং সম্পূর্ণরূপে যোগ্যতাসম্পন্ন ডোমেন নাম (যা ডিএনএস জরিমানা সমাধান করে) চেষ্টা করেছি এবং shell.ymlকোনও ফল লাভ হয়নি। আমি এটি পোর্ট 8080 এ অ্যাপাচি এসএসএল / প্রক্সি হোস্টের পরিবর্তে 8080 পোর্টে ইউনিকর্ন সার্ভারে সরাসরি তারটি চেষ্টা করার চেষ্টা করেছি othing কোনও কিছুতেই কোনও পার্থক্য মনে হচ্ছে না। আমার শংসাপত্র না স্ব স্বাক্ষরিত ও ব্রাউজারের জন্য সূক্ষ্ম কাজ করা, কিন্তু আমি সেটিং চেষ্টা self_signed_cert: trueযাহাই হউক না কেন। কিছুই নেই।

  • রিপোর্ট করা গিট পাথগুলি ভুল, গিটল্যাব ব্যবহারকারী বাড়ি থেকে পুরোপুরি যোগ্যতাসম্পন্ন পাথ যোগ করুন।

    এটি একটি আইনী পরামর্শের মতো বলে মনে হচ্ছে যদি গিটল্যাব শেলটি ইতিমধ্যে এটি বন্ধ করার জন্য কিছু বানর ব্যবসা না করে তবে আমি git remote add origin gitlab@server:username/reponame.gitremote `গিমেট রিমোট অ্যাড অরিজিন গিটলব @ সার্ভারে পরিবর্তন করতে চেষ্টা করেছি : সংগ্রহশালা / ব্যবহারকারীর নাম / reponame.git` কোনও লাভ হয়নি। একই ত্রুটি।

এটি প্রস্তাবিত সমাধানগুলির লিটানি বলে মনে হচ্ছে, তবে সেগুলির কোনওটিই সঠিক বলে মনে হচ্ছে না। দ্রষ্টব্য আমি http এর উপরে চাপ দিতে সক্ষম । লগইন প্রম্পট আমার ldap ব্যবহারকারীর নাম এবং পাসওয়ার্ড গ্রহণ করে এবং একটি ধাক্কা গ্রহণ করে। এটি কেবলমাত্র এসএসএইচ ব্যবহারের চেষ্টা করতে সমস্যা। ঠিক ssh লগইন অংশ পরীক্ষা করে ঠিকঠাক ssh -T gitlab@serverকাজ করে।

এই ত্রুটি আর কি হতে পারে?

গিটল্যাবে কীভাবে এই জাতীয় সমস্যাটি ডিবাগ করা যায়? এটিকে মোটেই প্রাসঙ্গিক বলে মনে হচ্ছে না ~gitlab/gitlab-shell/gitlab-shell.log। আরও তথ্যমূলক ত্রুটি বার্তা কোথায় পাওয়া যাবে?


এর ফলাফল কী: "ssh -vv গীতলব @ সার্ভার" ??
ডাঃগিল কিল

@ ডিআরজকিল আকর্ষণীয় কিছু নয় (আমার চোখে), নিজের জন্য দেখুন
কালেব

যদি বাইরের লগইনের জন্য গিটল্যাব অনুমোদিত হয় তবে আপনার sshd_config এ দেখুন। আমি 2 সম্ভাব্য অপরাধী বলব: এসএসএইচ বা গিটল্যাব-শেল। গিটল্যাব সংযুক্ত হওয়ার সময় auth.log কী বলে?
ডাঃকিল

@ DRGkill আমি এটি পরীক্ষা করেছি (এবং যদি এসএসডি বা প্যাম দ্বারা বাহ্যিক লগইন করার অনুমতি না পাওয়া যায় তবে আমি আপনাকে উপরে প্রদর্শিত লগগুলি সফল প্রমাণীকরণের বিজ্ঞপ্তি প্রদর্শন করতে পারত না)। এসএসএইচ ঠিক ঠিক সংযোগ করা হয়। সার্ভারের সাইড লগগুলি একটি সফল প্রমাণীকরণ দেখায়, একটি সেশন খোলা হয়েছিল, ব্যবহারকারী এনভির সেট আপ সম্পর্কে কিছু সিস্টেমড স্টাফ, তারপরে "<দূরবর্তী আইপি> থেকে সংযোগ বিচ্ছিন্ন হয়েছে" এবং সেশনটি পরিষ্কার করার বিষয়ে আরও কিছু স্টাফ রয়েছে।
কালেব

উত্তর:


7

আমি নিশ্চিত যে এই এসএসএইচ ডিবাগ বার্তার কারণে আপনার এসএসএইচ এবং সিস্টেমের মধ্যে একটি কনফিগারেশন সমস্যা রয়েছে:

client_input_channel_req: channel 0 rtype eow@openssh.com reply 0

আপনি সফল প্রমাণীকরণের সাথে সাথেই এই বার্তাটি পান এবং ব্যাশের কোনও বার্তা নেই যার অর্থ লগইন হওয়ার পরে কোনও প্রোগ্রাম চালু হয়নি।

গিটল্যাব ব্যবহারকারীর জন্য সঠিক সেটিংস থাকলে আপনার পাসডওডি ফাইলটি দেখুন:

gitlab:x:1011:1012:GitLab,,,:/path/to/gitlab:/bin/bash

কনফিগারেশন ফাইলগুলিতে যেমন যাচাই বাশের কোনও অদ্ভুত জিনিস নেই

  • bash.bashrc
  • .profile
  • .bashrc

তারপরে উপরের স্তরে যান: গিটল্যাব-শেলটি /path/to/gitlab/.ssh/authorised_keys নীচে কনফিগারেশন যাচাই করুন :

command="/path/to/gitlab/gitlab-shell/bin/gitlab-shell key-2",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa A...

গিটল্যাব ব্যবহারকারীর মালিকানাধীন এবং এক্সিকিউটেবলের সাথে / পাথ / টু / গিটল্যাব / গিটল্যাব-শেল / বিন / গিটল্যাব-শেল রয়েছে

আপনি নিশ্চিত হতে পারেন যে কমান্ডটি চালু করে গিতলব-শেল পুরোপুরি কার্যকর হয়েছে:

# /path/to/gitlab-shell/bin/gitlab-shell
Welcome to GitLab, Anonymous!

যদি রিমোট লগইনটি আসলে গিটল্যাব-শেলের সাথে কাজ করে এবং সঠিকভাবে সংযুক্ত থাকে তবে আপনি যদি দূরবর্তী অবস্থান থেকে লগইন করার চেষ্টা করেন তবে আপনাকে একই রকম স্বাগত বার্তাটি পাওয়া উচিত (তবে আপনি যার ব্যবহারকারীর সাথে ssh কী আপনি লগইন করেছেন)

$ ssh gitlab@server
Welcome to GitLab, <your user's full name>!
Connection to <server> closed.

এখানে কোনও বার্তা সম্ভবত ইঙ্গিত করে যে ssh আপনাকে মোটেও গিটল্যাবের সাথে সংযুক্ত করছে না।

অবশেষে, আপনার গিটল্যাব-শেল কনফিগারেশন (কনফিগার.আইএমএল) চেকআউট করুন এবং যাচাই করুন কিনা:

http_settings:
    # trailing slash is important
    gitlab_url: "https://remote_server/"
    ca_file: /path/to/webserver/certificate.crt

এবং শেষ পর্যন্ত :

    self_signed_cert: false

ডোহ। <হেড- ডিজেক> আপনি পুরোপুরি সঠিক পথে ছিলেন। গিটল্যাব ব্যবহারকারীকে বরাদ্দ করা হয়েছিল /bin/false। হয় এই ব্যবহারকারীটিকে যুক্ত করার সময় আর্ক প্যাকেজটি শেলটি সঠিকভাবে সেট করে না বা আমি এই সিস্টেমে ldap প্রমাণীকরণ প্রয়োগ করার প্রক্রিয়াতে এটি কোথাও ভেঙে ফেলেছি। সব প্রচেষ্টার জন্য ধন্যবাদ।
কালেব

উত্তরের জন্য ty, আমাকে ডিবাগ করতে সহায়তা করেছে। অন্য সমস্যাটি হ'ল যখন আপনি ssh কী ফরোয়ার্ডিং সক্ষম করেছেন, আপনি গিটল্যাবে ভুল কীটি প্রেরণ করেন যা আপনাকে সনাক্ত করতে পারে না। আপনি যখন গিটল্যাবে প্রবেশ করবেন তখন আপনি স্বাগত বেনাম পাবেন। Ssh -a
tommics

আমি কালেবের মতো একই সমস্যা পেয়েছি এবং আমি নিজেও জানতে পেরেছিলাম যে এটির কাজ করার জন্য / বিন / {মিথ্যা, সত্য, নোলোজিন instead এর পরিবর্তে শেল স্থাপন করা দরকার} তবে প্রকৃতপক্ষে ব্যবহারকারী ইনস্টলেশনের সময় শেল ছাড়াই তৈরি করা হয়েছে (দেখুন: gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/… ) sudo adduser --disabled-login --gecos 'GitLab' git। সুতরাং এটি খোল ছাড়া কাজ করা উচিত। আমি এখনও অন্য সমাধান খুঁজছি।
হিউজেনস

0

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

আমি আমার সমাধানটি এখানে পেয়েছি: /programming/17307154/git-bash-push-to-bitbucket-ignores-ssh-key

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

সমাধানটি ছিল পরিবেশ পরিবর্তনশীল GIT_SSH মুছে ফেলা। তারপরে সবকিছুই কাজ করেছিল।

আশা করছি এটা ওখানে কাওকে সাহায্য করবে.

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