উইন্ডোজ 8 এ সাইগউইনের মাধ্যমে গিট ব্যবহার করা


16

আমি একটি উইন্ডোজ 8 ডিভ পূর্বরূপ পেয়েছি (এটি প্রাসঙ্গিক কিনা তা নিশ্চিত নয় তবে ডাব্লু 7-তে আমার এই ঝামেলা কখনও হয়নি) এবং আমি গিথুব থেকে একটি গিট রেপো ক্লোন করার চেষ্টা করছি।

সমস্যাটি হ'ল আমার ~ / .ssh / id_rsa এর 440 টি অনুমতি রয়েছে এবং এটি 400 হওয়া দরকার I've )। পুরো ফাইল সিস্টেমের কোনও ফাইল জুড়ে এটি ধ্রুবক হিসাবে উপস্থিত বলে মনে হচ্ছে।

আমি এসিএলগুলির সাথে ঝামেলা করার চেষ্টা করেছি কিন্তু কোনও লাভ হয়নি (আমার ব্যবহারকারীর উপর সম্পূর্ণ নিয়ন্ত্রণ এবং প্রত্যেককে 000 এর ফলে প্রত্যাখ্যান করা)

এখানে সহায়তার জন্য কয়েকটি ফলাফল রয়েছে:

$ git clone [removed]
Cloning into [removed]...
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0660 for '/home/john/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /home/john/.ssh/id_rsa
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

$ ll ~/.ssh
total 6
-r--r----- 1 john None 1675 Nov 30 19:15 id_rsa
-rw-rw---- 1 john None  411 Nov 30 19:15 id_rsa.pub
-rw-rw-r-- 1 john None  407 Nov 30 18:43 known_hosts

$ chmod -v 400 ~/.ssh/id_rsa
mode of `/home/john/.ssh/id_rsa' changed from 0440 (r--r-----) to 0400 (r--------)

$ ll ~/.ssh
total 6
-r--r----- 1 john None 1675 Nov 30 19:15 id_rsa
-rw-rw---- 1 john None  411 Nov 30 19:15 id_rsa.pub
-rw-rw-r-- 1 john None  407 Nov 30 18:43 known_hosts

$ set | grep CYGWIN
CYGWIN='sbmntsec ntsec server ntea'

আমি বুঝতে পারি যে আমি এমএসজিগিট বা অন্য কিছু ব্যবহার করতে পারি তবে আমি একক টার্মিনাল থেকে সমস্ত কিছু করতে সক্ষম হতে পছন্দ করি

সম্পাদনা: Msysgit একই কারণে হয় না


একই সমস্যা এখানে। উইন্ডোজ 8 গ্রাহক পূর্বরূপ।
সাইমন হার্টচার

"আমি এসিএলগুলির সাথে গণ্ডগোল করার চেষ্টা করেছি কিন্তু কোনও লাভ হয়নি (আমার ব্যবহারকারীর উপর সম্পূর্ণ নিয়ন্ত্রণ এবং প্রত্যেকের ফলে 000 এর ফলে অস্বীকার করা হয়েছে) " সুতরাং ls -lঅনুমতিগুলি 000( ----------) হিসাবে দেখায় - তবে আপনি কি এখনও ফাইলটি পড়তে পেরেছেন, sshএবং git cloneঅভিযোগ করতে পারেন এটা সম্পর্কে? আমি অনুমান করি যে sshঅনুমতিগুলি খুব কঠোর বলে মনে হচ্ছে তা নিয়ে অভিযোগ করবে না। উত্স কোডে একটি তাত্ক্ষণিকভাবে তা নিশ্চিত হওয়ার প্রবণতা রয়েছে তবে আমি এটি পরীক্ষা করে দেখিনি।
কিথ থম্পসন

উত্তর:


26

খালি গোষ্ঠীর দরকার নেই।

সাইগউইন ইনস্টল করার সময় সমস্ত ফাইল কোনও গ্রুপের নয়। আপনি এটি করে এটি পরীক্ষা করতে পারেন ls -al। আপনি দেখতে পাবেন যে কোনও গ্রুপ ("কিছুই নয়") ফাইলগুলিতে নেই। এটি কেবল ব্যবহারকারীদের মধ্যে পরিবর্তন করুন:

chgrp Users *

এর পরে আপনি chmodযা খুশি তা করতে পারেন।


chgrp Users *শুধুমাত্র সমস্ত ফাইল এবং ফোল্ডারগুলিতে পরিবর্তন করবে $PWD। সমস্ত সাবফোল্ডার / ফাইলগুলি ওয়েলাস $ পিডাব্লুডির হিসাবে পরিবর্তন করতে -আর বিকল্পটি ব্যবহার করুন:chgrp -R users *
অ্যাডাম

4

আমি এখনই এটি পেতে একটি সাইগউইন-নির্দিষ্ট হ্যাক পেয়েছি।

সংক্ষিপ্ত সংস্করণ:
কেবল নতুন খালি উইন্ডোজ গোষ্ঠী তৈরি করুন, id_rsa এর গ্রুপটি এতে পরিবর্তন করতে chgrp ব্যবহার করুন এবং তারপরে এই গ্রুপটির জন্য পড়ার / লেখার অনুমতি অস্বীকার করুন।

দীর্ঘ সংস্করণ:
সুপার কী টিপুন এবং lusrmgr.msc টাইপ করুনEMPTY_GROUP বলে একটি খালি গোষ্ঠী তৈরি করতে এই পরিচালককে ব্যবহার করুন Use

এখন আমাদের নতুন গ্রুপ সম্পর্কে সাইগউইনকে জানানো দরকার।

mkgroup > /etc/group

এরপরে আমরা id_rsa গ্রুপটি আপডেট করব :

chgrp EMPTY_GROUP ~/.ssh/id_rsa

অবশেষে, উইন্ডোজ এক্সপ্লোরারে id_rsa সন্ধান করুন এবং বৈশিষ্ট্যগুলিতে সুরক্ষা ট্যাবের অধীনে, পড়ার / লেখার অনুমতিগুলি অস্বীকার করুন এবং আপনার যাওয়া ভাল should

আমি নিশ্চিত নই যে সাইগউইন কীভাবে 7 এ নয় কিন্তু 8 এ এটি পরিচালনা করতে সক্ষম হয়েছিল, তবে সমস্যাটি মনে হয় id_rsa ফাইলের কোনওটি নয়, এই গোষ্ঠীতে সর্বদা সম্পূর্ণ পঠন / লেখার অ্যাক্সেস রয়েছে।

এছাড়াও, এটি কেবল সাইগউইনের সাথে আসা ssh.exe এর জন্য কাজ করে বলে মনে হয়, তাই আপনি যদি গিট দিয়ে ssh বলুন ssh ব্যবহার করতে চান, তবে আপনার সিগিন ইনস্টলের বিন ফোল্ডার থেকে একটি দিয়ে আপনার গিট ইনস্টলটিতে বিন থেকে ssh.exe ওভাররাইট করুন if ।


2

উইন 8 + সাইগউইন

আমি উইন্ডোজ 8, 64 বিট এ রয়েছি। নিম্নলিখিতটি করা আমার পক্ষে এটি সমাধান করে:

## Start Cygwin shell
cd .ssh
chmod 600 key-file-name

1

সাইগউইনে, এই আদেশগুলি টাইপ করুন:

  • হোম ফোল্ডারে সঠিক গোষ্ঠীটি সেট করুন:

    chgrp -Rv HomeUsers /home

  • Ssh পরিচয় ফাইলের জন্য সঠিক অনুমতিগুলি সেট করুন:

    chmod 600 -Rv ~/.ssh/id*

নোট: পূর্ববর্তী গৃহীত উত্তরগুলি পুরানো। গোষ্ঠীর নাম "হোমউজার", "ব্যবহারকারী" নয়, এখনও মন্তব্য করতে পারে না।


1

আমি পাশাপাশি এই বিষয়ে মন্তব্য করতে চাই। আমি সাইগউইনের মাধ্যমে গিট ব্যবহার করে আমার উইন্ডোজ 7 পিসিতে একই ধরণের সমস্যার মুখোমুখি হয়েছি।

আমার স্থানীয় গিট সংগ্রহস্থল থেকে একটি প্রত্যন্ত সংগ্রহস্থল (প্রমাণীকরণের জন্য এসএসএস এবং কী কীয়ার ব্যবহার করে) পরিবর্তন করার চেষ্টা করার সময়, গিট একটি বার্তা ছুঁড়েছিল যে ফাইলগুলির জন্য 0660 অনুমতিগুলি খুব বেশি খোলা ছিল

~ / .Ssh / id_rsa।

অবশ্যই এই খোলা ব্যক্তিগত কীটি প্রত্যাখ্যান করা ssh-এজেন্টের পক্ষে ঠিক।

সুতরাং আমি এই থ্রেডে উল্লিখিত জিনিসগুলি এবং অন্যান্য থ্রেডগুলিতে চেষ্টা করেছি যা ফাইলের মালিকানা এবং rwx- প্যাটার্ন এবং ~ / .ssh ফোল্ডারের সাথে সম্পর্কিত ছিল

chgrp Users ~/.ssh/*
chmod 400 ~/.ssh/id_rsa

তবে একই ত্রুটিটি বার বার ছুঁড়ে দেওয়া হয়েছিল।

কিছু কারণে সাইগউইনে এসএসএল-এজেন্ট প্রক্রিয়াটি মেরে ফেলা এবং বোর্নে পুনরায় শেল (বাশ) -এ নিম্নলিখিত কমান্ডটি কার্যকর করা দরকার ছিল।

eval `ssh-agent -s`

Ssh-এজেন্টে পছন্দসই পরিচয় যুক্ত করতে ভুলবেন না

ssh-add ~/.ssh/id_rsa

তারপরে আমি একটি বৈধ পুশ কমান্ডের মতো পুনরাবৃত্তি করেছি

git push origin master

এবং সবকিছু ভাল কাজ করে।


0

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

প্রথমে সাইগউইন ডিরেক্টরি / ফাইলগুলির মালিকানা নিন

ডিরেক্টরি এবং উপ-ডিরেক্টরি / ফাইলগুলির সাথে সম্পর্কিত এমন কিছু ব্যবহারকারীর অ্যাকাউন্ট থাকবে যা দেখতে দেখতে কিছু ভালো লাগে S-1-2-34-1234567890-1234567890-1234567890-123

ব্যবহারকারীর অ্যাকাউন্ট

এগুলি সরান এবং আপনার নিজের ব্যবহারকারীর অ্যাকাউন্টের সাথে মালিকানা নিন।

  1. Propertiesসাইগউইন ডিরেক্টরিটি অ্যাক্সেস করুন
  2. ট্যাবে ক্লিক AdvancedকরুনSecurity
  3. Changeনিজেকে মালিক। আপনি আপনার প্রথম নাম বা সম্পর্কিত ইমেল ঠিকানা টাইপ করতে পারেন
  4. Remove তালিকা থেকে কোনও অজানা ব্যবহারকারী
  5. ক্লিক Enable Inheritance
  6. চেক করুন all সমস্ত শিশু অবজেক্ট অনুমতি এন্ট্রি এই বস্তু থেকে উত্তরাধিকারসূচক অনুমতি এন্ট্রি সঙ্গে প্রতিস্থাপন
  7. ক্লিক করুন OKনীচের অংশে এবং তারপর Yesডায়লগ বক্স রয়েছে।

উইন্ডোজ সুরক্ষা ডায়ালগ বক্স

তারপরে, সাইগউইনে, সমস্ত কী ফাইলগুলির ব্যবহারকারী গোষ্ঠী পরিবর্তন করুন

থেকে রই Danton এর উত্তর :

সাইগউইন ইনস্টল করার সময় সমস্ত ফাইল কোনও গ্রুপের নয়। আপনি এটি করে এটি পরীক্ষা করতে পারেন ls -al

  1. সাইগউইন খুলুন এবং .sshডিরেক্টরিতে নেভিগেট করুন -cd ~/.ssh
  2. চালান chgrp Users *- এটি আপনাকে chmodসঠিকভাবে ফাইলগুলিতে অনুমতি দেবে ।
  3. শেষ পর্যন্ত, চালান chmod 400 *। 600 কাজ করবে।

এটি কাজ করে কিনা তা পরীক্ষা করুন

কেবল আপনার পছন্দসই সার্ভারে এসএসএস করুন। আমার ক্ষেত্রে, এর বিটবকেট

ভালো ফলাফল:

$ ssh hg@bitbucket.org
PTY allocation request failed on channel 0
conq: logged in as simonhartcher.

You can use git or hg to connect to Bitbucket. Shell access is disabled.
Connection to bitbucket.org closed.

খারাপ ফলাফল:

$ ssh hg@bitbucket.org
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0755 for '/home/Simon/.ssh/id_dsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /home/Simon/.ssh/id_dsa
Permission denied (publickey).

2
উইন্ডোজের জন্য ওপেনএসএসএইচ দিয়ে (সাইগউইন নয়) আমি chgrp Users * "সি: /পস্কোড / শেফ / এম্বেড / বিিন / সিএইচপিআরপি.এক্সই" পেয়েছি: অবৈধ গ্রুপ `ব্যবহারকারীগণ
জোনাথন

0
  1. id_rsa -> রাইট ক্লিক -> বৈশিষ্ট্য -> সুরক্ষা -> সম্পাদনা করুন
  2. সমস্ত গোষ্ঠী এবং ব্যবহারকারীদের সরান (ঠিক আছে চাপুন বা প্রয়োগ করবেন না)
  3. যুক্ত করুন -> আপনার বর্তমান ব্যবহারকারীর নাম লিখুন -> নাম চেক করুন
  4. "সম্পূর্ণ নিয়ন্ত্রণ "কে অনুমতি দিন
  5. প্রয়োগ করা

(উইন্ডোজ 10 প্রো)

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