প্রতিটি গিট পুশ-এ আমি কীভাবে ব্যবহারকারীর নাম এবং পাসওয়ার্ডের স্পেসিফিকেশন এড়াতে পারি?


317

আমি git pushএকটি রিমোট গিট সংগ্রহস্থলের কাজ করি ।

প্রত্যেকে pushআমাকে ইনপুট করতে অনুরোধ করবে usernameএবং password। আমি প্রতিটি ধাক্কার জন্য এড়াতে চাই, কিন্তু এটি এড়াতে কনফিগার কিভাবে?


6
একটি উত্তর এখানে পাওয়া যায়: stackoverflow.com/questions/6565357/...
kbdjockey

3
লং সংক্ষিপ্ত বিবরণ: GitHub জন্য, শুধু এই দুটি লিঙ্ক অনুসরণ help.github.com/articles/generating-ssh-keys help.github.com/articles/changing-a-remote-s-url
JRun

বিটবাকেটের জন্য দয়া করে এই লিঙ্কটি
JDP

উত্তর:


346

1. একটি এসএসএইচ কী তৈরি করুন

লিনাক্স / ম্যাক

Ssh কীগুলি তৈরি করতে টার্মিনালটি খুলুন:

cd ~                 #Your home directory
ssh-keygen -t rsa    #Press enter for all values

উইন্ডোজ জন্য

(কেবলমাত্র যদি কমিট প্রোগ্রামটি শংসাপত্র / বেসরকারী এবং সর্বজনীন এসএসএস কীগুলি ব্যবহার করতে সক্ষম হয় তবেই কাজ করে)

  1. একটি কী তৈরি করতে পুট্টি জেন ​​ব্যবহার করুন
  2. একটি ওপেন এসএসএইচ কী হিসাবে কীটি রফতানি করুন

উপরের পদক্ষেপগুলির জন্য পুট্টি জেনের উপর একটি ওয়াকথ্রু রয়েছে

2. এসএসএইচ কী দূরবর্তী সংগ্রহস্থলের সাথে যুক্ত করুন

আপনার রিমোটটি কীভাবে সেট আপ করা হবে তার উপর নির্ভর করে এই পদক্ষেপটি পরিবর্তিত হয়।

  • যদি এটি একটি গিটহাব সংগ্রহস্থল এবং আপনার প্রশাসনিক সুযোগসুবিধা থাকে তবে সেটিংসে যান এবং 'এসএসএইচ কী যুক্ত করুন' ক্লিক করুন। ~/.ssh/id_rsa.pubক্ষেত্রটিতে 'কী' লেবেলযুক্ত আপনার সামগ্রীগুলি অনুলিপি করুন ।

  • যদি আপনার সংগ্রহস্থল অন্য কারও দ্বারা পরিচালিত হয় তবে প্রশাসককে আপনার দিন id_rsa.pub

  • আপনার রিমোট রিপোজিটরিটি যদি আপনার দ্বারা পরিচালিত হয় তবে আপনি এই আদেশটি উদাহরণস্বরূপ ব্যবহার করতে পারেন:

    scp ~/.ssh/id_rsa.pub YOUR_USER@YOUR_IP:~/.ssh/authorized_keys/id_rsa.pub

৩. আপনার দূরবর্তী URL টি এমন কোনও ফর্মের সাথে সেট করুন যা এসএসএইচ 1 সমর্থন করে

যদি আপনি উপরের পদক্ষেপগুলি করেছেন এবং এখনও পাসওয়ার্ড প্রম্পট পেয়ে থাকেন তবে নিশ্চিত করুন যে আপনার রেপো URL টি ফর্মটিতে রয়েছে

git+ssh://git@github.com/username/reponame.git

উল্টোদিকে

https://github.com/username/reponame.git

আপনার রেপো ইউআরএল দেখতে, চালান:

git remote show origin

আপনি এর সাথে ইউআরএল পরিবর্তন করতে পারেন:

git remote set-url origin git+ssh://git@github.com/username/reponame.git

[1] এই বিভাগটি এরিক পি থেকে উত্তর অন্তর্ভুক্ত করে


3
আমি উবুন্টুতে 1 ধাপ এবং দ্বিতীয় ধাপে ছুটে এসেছি তবে এটি এখনও আমাকে u_id পাসডাব্লুডির জন্য জিজ্ঞাসা করে। আমি দৌড়েছি: ssh -T git@github.com। এখনও একই. কি করো?
রাধিকা

4
@ র‌্যাডস আপনি কি এরিক পি দ্বারা অন্য উত্তরটি চেষ্টা করেছেন ?
ইয়ো '

2
@ ডায়ালেক্স তার অর্থ এমন একটি ব্যক্তি যা দূরবর্তী গিট সংগ্রহস্থল পরিচালনা করে।
সিলલેয়ার

5
গিট রিমোট সেট-url উত্স গিট + ssh: //git@github.com/username/reponame.git এই আদেশটি আমার পক্ষে সহায়ক।
কৃত্রিমভাবে

2
এটি আমার জন্য কাজ করেছেgit remote set-url origin git@github.com:/username/projectname.git
কার্ট

181

গিট সংগ্রহস্থলগুলির সাথে স্থায়ীভাবে প্রমাণীকরণ করা,

শংসাপত্রের ক্যাশে সক্ষম করতে নিম্নলিখিত কমান্ডটি চালান।

$ git config credential.helper store
$ git push https://github.com/repo.git

Username for 'https://github.com': <USERNAME>
Password for 'https://USERNAME@github.com': <PASSWORD>

ব্যবহারে ক্যাশেগের মেয়াদও নির্দিষ্ট করা উচিত ,

git config --global credential.helper 'cache --timeout 7200'

শংসাপত্রের ক্যাশে সক্ষম করার পরে, এটি 7200 সেকেন্ড (2 ঘন্টা) জন্য ক্যাশে হবে ।

দ্রষ্টব্য: শংসাপত্রের সহায়তা সহায়ক স্থানীয় ডিস্কে এনক্রিপ্ট করা পাসওয়ার্ড সংরক্ষণ করে।


4
ধন্যবাদ। আপনি দয়া করে কনফিগার কমান্ডটি কি ব্যাখ্যা করতে পারেন? আমি অবাক হয়েছি কেন প্রথম বার কোনও রেপোতে চাপ দেওয়ার পরে কেন এটি আমাকে পাসওয়ার্ড জিজ্ঞাসা করে না?
হ্যালো ওয়ার্ল্ডনমোর

1
@vivoconunxino সম্ভবত কারণ এটি অন্তর্নিহিত অনিরাপদ। gitম্যানপেজ থেকে : "এই সহায়কটি ব্যবহার করা আপনার পাসওয়ার্ডগুলিকে ডিস্কে এনক্রিপ্ট না করে কেবল ফাইল সিস্টেমের অনুমতি দ্বারা সুরক্ষিত রাখবে" "
মাস্টার

15
এই উত্তরে storeশংসাপত্রহীন সহায়কটি ডিস্কে পাসওয়ার্ডটি এনক্রিপ্ট না করে সঞ্চয় করার বিষয়ে একটি সতর্কতা হারিয়েছে ।
মাস্টার -

1
@ ডেভিডআর ট্রিবিবল: এটি ক্যাশে সেট করবেন? বা প্রাসঙ্গিক ফাইলটি সরিয়ে ফেলুন, git-scm.com/docs/git-credential-store
serv-inc

1
@ ডেভিডআরট্রিবল: আরও ভাল:git config --unset credential.helper
সার্ভ-ইন

116

যদি আপনি ইতিমধ্যে আপনার এসএসএইচ কীগুলি সেট আপ করে রেখেছেন এবং এখনও পাসওয়ার্ড প্রম্পট পেয়ে থাকেন তবে নিশ্চিত করুন যে আপনার রেপো ইউআরএল ফর্মটিতে রয়েছে

git+ssh://git@github.com/username/reponame.git

উল্টোদিকে

https://github.com/username/reponame.git

আপনার রেপো ইউআরএল দেখতে, চালান:

git remote show origin

আপনি ইউআরএল এর git remote set-urlমত পরিবর্তন করতে পারেন:

git remote set-url origin git+ssh://git@github.com/username/reponame.git

আমি git initস্থানীয়ভাবে ব্যবহার করার পরে গিটহাব ওয়েবসাইটে নতুন রেপো থেকে রিমোট যুক্ত করার পরে এই সমস্যাটি স্থির করেছিলাম ।
শেলডোনক্রেজার

1
কেন এটি গৃহীত উত্তরের অংশ নয় তা নিশ্চিত নয়। ধন্যবাদ!
jwalk

1
স্বীকৃত উত্তরটি প্রকৃত স্বীকৃত উত্তরের এই একটিতে গঠিত উচিত।
পুস

3
আপনি "গিট + git@github.com/username/reponame.git
এসএসএস

1
@ ইভানশুলেভ আমি গিট + এসএসএস ছাড়াই প্রাথমিকভাবে চেষ্টা করেছিলাম এবং কাজ করি নি
অ্যান্টোনেলো

40

--repoগিট পুশ কমান্ডের জন্য কেবল বিকল্প ব্যবহার করুন । এটার মত:

$ git push --repo https://name:password@bitbucket.org/name/repo.git

37
অথবা আপনি এটিকে ডিফল্টরূপে সেট করতে পারেনgit remote set-url origin https://name:password@github.com/repo.git
এসাইক্লিক

আমি লক্ষ করি যে URL টি কেবলমাত্র একটি name@github.com/....gitকাজের জন্য সেট করা যদি আপনি প্রতিবার পাসওয়ার্ডের জন্য সজ্জিত না হন mind
টিমডে

গিথুব ব্যবহারকারীদের জন্য, git push --repo https://github.com/Username/repo এটি .git এক্সটেনশন ছাড়াই কাজ করে
পে ড্রো

24

অনির্দিষ্টকালের জন্য সংরক্ষণ করা হচ্ছে

আপনি গিট-শংসাপত্রের-স্টোরের মাধ্যমে ব্যবহার করতে পারেন

git config credential.helper store

যা ফাইল সিস্টেমে আপনার পাসওয়ার্ডটি এনক্রিপ্ট না করা সঞ্চয় করে :

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

একটি সময়সীমা সহ

গিট-শংসাপত্র-ক্যাশে ব্যবহার করুন যা ডিফল্টরূপে পাসওয়ার্ডটি 15 মিনিটের জন্য সঞ্চয় করে।

git config credential.helper cache

আলাদা টাইমআউট সেট করতে, ব্যবহার করুন --timeout(এখানে 5 মিনিট)

git config credential.helper 'cache --timeout=300'

অনির্দিষ্টকালের জন্য নিরাপদ সংরক্ষণ (ওএস এক্স এবং উইন্ডোজ)

  • আপনি যদি ম্যাক ব্যবহার করছেন তবে গিটটি একটি "অক্সকিচেইন" মোড নিয়ে আসে যা আপনার সিস্টেম অ্যাকাউন্টে সংযুক্ত সুরক্ষিত কীচেইনে শংসাপত্রগুলি ক্যাশে করে। এই পদ্ধতিটি শংসাপত্রগুলি ডিস্কে সঞ্চয় করে এবং এগুলির কখনই মেয়াদ শেষ হয় না তবে তারা একই সিস্টেমের সাথে এনক্রিপ্ট করা হয় যা এইচটিটিপিএস শংসাপত্র এবং সাফারি অটো-ফিলগুলি সঞ্চয় করে। কমান্ড লাইন নিম্নলিখিত চলমান এই বৈশিষ্ট্যটি সক্ষম হবে: git config --global credential.helper osxkeychain। কীচেইন অ্যাপ্লিকেশনটি ব্যবহার করে আপনার কীচেইনে শংসাপত্রগুলি সংরক্ষণ করতে হবে।
  • আপনি যদি উইন্ডোজ ব্যবহার করেন তবে আপনি "উইন্ডোজের জন্য গিট শংসাপত্র ব্যবস্থাপক" নামে একটি সহায়ক ইনস্টল করতে পারেন এটি উপরে বর্ণিত "অস্কেচেইন" সহায়কটির মতো, তবে সংবেদনশীল তথ্য নিয়ন্ত্রণ করতে উইন্ডোজ শংসাপত্রের স্টোর ব্যবহার করে। এটি https://github.com/Mic Microsoft/Git-Credential-Manager- for- উইন্ডোতে পাওয়া যাবে । [আমার জোর দেওয়া]

উইন্ডোজ credential.helper cacheকাজ করে না। এটা হওয়া উচিত git config --global credential.helper wincred
পাওলো মেরসন

1
আপনি যখন https ব্যবহার করতে বাধ্য হন তখন এটি সহায়ক। আমি ssh ব্যবহার করলে সার্ভারে থাকা আমার গিটটি স্তব্ধ হয়ে যায়, সুতরাং আমার কাছে এসএসএইচ কীগুলির বিকল্প নেই।
শ্রীধর সারনোবাত

8

আমি https://github.com/org/repo.gitssh লিঙ্কের পরিবর্তে https লিঙ্ক ( ) ব্যবহার করছিলাম ;

git@github.com:org/repo.git  

স্যুইচিং আমার জন্য সমস্যার সমাধান!


6

ধাপ 1 -

নীচের কমান্ডটি ব্যবহার করে আপনার লিনাক্স সিস্টেমে এসএসএইচ কী তৈরি করুন

ssh-keygen -t rsa -b 4096 -C "your_email"

এটি পাসফ্রেজ এবং ফাইলের নাম জিজ্ঞাসা করবে (ডিফল্ট হবে ~ / .ssh / id_rsa, ~ / .ssh / id_rsa.pub)

ধাপ ২ -

ফাইলগুলি তৈরি হয়ে গেলে github অ্যাকাউন্ট ssh বিভাগে সর্বজনীন কী id_rsa.pub যুক্ত করুন।

ধাপ 3 -

আপনার মেশিনে নীচের কমান্ডটি ব্যবহার করে ssh-এজেন্টে প্রাইভেট কী id_rsa যুক্ত করুন

ssh-add ~/.ssh/id_rsa 

পদক্ষেপ 4 -

এখন নীচের কমান্ডটি ব্যবহার করে আপনার স্থানীয় গিট রেপোতে রিমোট url git@github.com: ব্যবহারকারী_নাম / repo_name.git যুক্ত করুন।

git remote remove origin
git remote add origin git@github.com:user_name/repo_name.git

এটাই.


5

আপনার ওএস শংসাপত্রের স্টোরটিতে আপনার গিট ক্লায়েন্টকে তার করুন। উইন্ডোজ উদাহরণস্বরূপ আপনি wincred যাও শংসাপত্র সাহায্যকারী বাঁধাই:

git config --global credential.helper wincred

গিটহাবটিতে https: // ব্যবহার করার সময় পাসওয়ার্ড টাইপিং এড়ানোর কোনও উপায় আছে কি?


5

উইন্ডোজ অপারেটিং সিস্টেমে এর পরিবর্তে এটি ব্যবহার করুন, এটি আমার পক্ষে কাজ করে:

https://{Username}:{Password}@github.com/{Username}/{repo}.git

যেমন

git clone https://{Username}:{Password}@github.com/{Username}/{repo}.git

git pull https://{Username}:{Password}@github.com/{Username}/{repo}.git

git remote add origin https://{Username}:{Password}@github.com/{Username}/{repo}.git

git push origin master

5

সমাধানটি সম্পর্কে উপরে বেশ কয়েকবার বলা হয়েছে:

git config credential.helper store

এর পরে পাসওয়ার্ডের জন্য যে কোনও কমান্ড ব্যবহার করতে পারেন। আপনাকে ধাক্কা দিতে হবে না। (আপনি উদাহরণস্বরূপ টানতেও পারেন) এর পরে, আপনাকে আবার আপনার ব্যবহারকারীর নাম / পাসওয়ার্ড টাইপ করতে হবে না।


3

পাভেল যে উত্তরটি দিয়েছিল তা আমি ব্যবহার করেছিলাম এবং এটি আমার পক্ষে কাজ করে। আমার পার্থক্যটি ছিল আমি যখন রিমোটটি যুক্ত করার সময় এটি করছিলাম:git remote add (alias) https://(name:password)@github.com/(the remote address).git


3

নীচের কমান্ডটি চালানো আমার জন্য সমস্যার সমাধান করেছে।

git config --global credential.helper wincred

নীচের গিথুব ডকুমেন্টেশন উল্লেখ করুন:

https://help.github.com/articles/caching-your-github-password-in-git/

3

আমি যতদূর জানি, কেবল দুটি নিরাপদ উপায় রয়েছে: কীস্টোর ব্যবহার করে এসএসএস বা পাসডাব্লু এনক্রিপ্ট করা

, SSH

  1. আপনার গিথুব লগ ইন করুন;
  2. দেখুন: https://github.com/settings/keys ;
  3. নতুন এসএসএইচ কী;
  4. cat ~/.ssh/id_rsa.pub, এটি এখানে আটকান, নাম দিন এবং সংরক্ষণ করুন (যদি আপনার কাছে এ জাতীয় কোনও ফাইল না থাকে তবে নিজের জন্য একটি তৈরি করুন ssh-keygen -t rsa- সমস্ত প্রম্পটের জন্য কেবল লিখুন );
  5. আপনার স্থানীয় সংগ্রহস্থলে যান এবং দ্বারা আপনার রিমোট আপডেট করুন git remote set-url origin git+ssh://git@github.com/username/reponame.git- আপনি এটি প্রথমে পরীক্ষা করতে পারেন git remote -v);
  6. আপনি এখানে যান, কেবল touch t; git add t; git commit -m "test"; git pushএবং পাসওয়ার্ড-মুক্ত বিশ্ব উপভোগ করতে হ্যাঁ নিশ্চিত করুন ।

একটি কীস্টোর ব্যবহার করে পাসওয়ার্ড এনক্রিপিটেড T

আপনি যদি git config --global credential.helper storeঅন্যদের উল্লিখিত হিসাবে ব্যবহার করেন তবে আপনার এনক্রিপ্ট করা পাসওয়ার্ডগুলি কেবল একটি সরল পাঠ্যে সংরক্ষণ করা হবে ~/.git-credentialsযার অধীনে এটি সুরক্ষিত নয় বলে মনে হচ্ছে।

এটি হিসাবে এনক্রিপ্ট করার চেষ্টা করুন

sudo apt-get install libgnome-keyring-dev
sudo make --directory=/usr/share/doc/git/contrib/credential/gnome-keyring
git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring

git config --global credential.helper store

এই ক্ষেত্রে, আপনি ব্যবহার করছেন https://git@github.com/username/reponame.git


2

উইন্ডোজে আমার সমাধান:

  1. "গিট ব্যাশ এখানে" চাপতে এবং নির্বাচন করতে ডিরেক্টরিতে ডান ক্লিক করুন।
  2. ssh-keygen -t rsa (সমস্ত মানের জন্য এন্টার টিপুন)
  3. এর জন্য টার্মিনাল পরীক্ষা করুন: Your public key has been saved in /c/Users/<your_user_name_here>/.ssh/id_rsa.pub
  4. নির্দিষ্ট ফাইল থেকে সর্বজনীন কী অনুলিপি করুন।
  5. আপনার গিটহাব প্রোফাইল => সেটিংস => এসএসএইচ এবং জিপিজি কীসমূহ => নতুন এসএসএইচ কী => আপনার এসএসএইচ কীটি এখানে আটকান => সংরক্ষণ করুন

2

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

git remote set-url --push origin https://<username>:<password>@github.com/<repo>

--pushপতাকাটি নিশ্চিত করে যে এটি কেবল git pushকমান্ডের জন্য সংগ্রহস্থলের URL পরিবর্তন করে । (মূল পোস্টে জিজ্ঞাসিত প্রশ্নটি কেবল git pushকমান্ড সম্পর্কে । গিটহাবের পাবলিক রিপোজিটরিগুলির জন্য কেবল পুশ অপারেশনের জন্য একটি ব্যবহারকারীর নাম + পাসওয়ার্ড প্রয়োজন set নোট করুন যে গিটহাবের ব্যক্তিগত সংগ্রহস্থলগুলিতে টানতে এবং আনতে অপারেশনের জন্য একটি ব্যবহারকারীর নাম + পাসওয়ার্ডের প্রয়োজন হবে , সুতরাং একটি ব্যক্তিগত সংগ্রহস্থলের জন্য আপনি ব্যবহার করতে চাইবেন না --push flag...)

সতর্কতা: এটি সহজাতভাবে অসুরক্ষিত কারণ:

  1. আপনার আইএসপি, বা আপনার নেটওয়ার্ক অ্যাক্সেসে প্রবেশ করা যে কেউ, সহজেই ইউআরএলটিতে সরল পাঠ্যে পাসওয়ার্ডটি দেখতে পারে;

  2. আপনার পিসিতে অ্যাক্সেস অর্জনকারী যে কেউ ব্যবহার করে আপনার পাসওয়ার্ডটি দেখতে পাবে git remote show origin

এজন্য একটি এসএসএইচ কী ব্যবহার করা হ'ল গ্রহণযোগ্য উত্তর।

এমনকি একটি এসএসএইচ কী সম্পূর্ণ সুরক্ষিত নয় । আপনার পিসিতে অ্যাক্সেস অর্জনকারী যে কেউ স্থির করতে পারেন, উদাহরণস্বরূপ, আপনার পুস্তকে নষ্ট করে এমন ধাক্কা তৈরি করতে পারে - বা আরও খারাপ - আপনার কোডটিতে সূক্ষ্ম পরিবর্তন করে প্রতিশ্রুতিবদ্ধ। (সমস্ত ধাক্কা দেওয়া প্রতিশ্রুতিগুলি অবশ্যই গিটহাবের উপর অত্যন্ত দৃশ্যমান But তবে কেউ যদি আপনার কোডটি গোপনীয়তার সাথে পরিবর্তন করতে চায় তবে তারা --amendপ্রতিশ্রুতি বার্তাটি পরিবর্তন না করে পূর্বের প্রতিশ্রুতি দিতে পারে এবং জোর করে চাপিয়ে দিতে পারে That এটি চুড়ান্ত এবং বাস্তবে লক্ষ্য করা বেশ কঠিন। )

তবে আপনার পাসওয়ার্ড প্রকাশ করা আরও খারাপ । যদি কোনও আক্রমণকারী আপনার ব্যবহারকারীর নাম + পাসওয়ার্ড সম্পর্কে জ্ঞান অর্জন করে তবে তারা আপনাকে আপনার নিজের অ্যাকাউন্ট থেকে লক আউট করা, আপনার অ্যাকাউন্ট মোছা, স্থায়ীভাবে সংগ্রহস্থল মুছতে পারে ইত্যাদি কাজ করতে পারে etc.


বিকল্পভাবে - সরলতা এবং সুরক্ষার জন্য - আপনি কেবলমাত্র ইউআরএলতে আপনার ব্যবহারকারীর নাম সরবরাহ করতে পারেন , যাতে প্রতিবার আপনার পাসওয়ার্ডটি টাইপ git pushকরতে হবে তবে আপনাকে প্রতিবার আপনার ব্যবহারকারীর নাম দিতে হবে না। (আমি এই পদ্ধতির বেশ পছন্দ করি, পাসওয়ার্ড টাইপ করা আমাকে প্রতিবার ভাবার বিরতি দেয় git push, তাই আমি git pushদুর্ঘটনাক্রমে পারি না ))

git remote set-url --push origin https://<username>@github.com/<repo>

পাসওয়ার্ড থাকলে কি হয় @, এটি গিট সার্ভারের অংশ হিসাবে @ এর পরে কমান্ড থিংক পাসওয়ার্ড ভঙ্গ করছে?
প্রণব সিং

যদি আপনার পাসওয়ার্ডটিতে '@' থাকে তবে আপনি নিজেরাই এখানে আছেন, দুঃখিত sorry আপনি আপনার পাসওয়ার্ড পরিবর্তন করতে পারেন?
রেডফেস

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

1

এই সমস্ত কিছু দেখা দেয় কারণ গিটটি কোনও পাইপের মাধ্যমে শংসাপত্রগুলি প্রেরণের জন্য ক্লোন / পুল / পুশ / আনার আদেশগুলিতে কোনও বিকল্প সরবরাহ করে না। যদিও এটি শংসাপত্র দেয় he হেল্পার, এটি ফাইল সিস্টেমে সঞ্চয় করে বা ডেমোন ইত্যাদি তৈরি করে Often সত্যিই খুব অনিরাপদ।

এখানে আমাকে প্রায় কাজ করতে হয়েছিল। 1. গিট সংস্করণ (গিট - রূপান্তর) 1.8.3 এর চেয়ে বড় বা সমান হওয়া উচিত।

গিট ক্লোন

ক্লোনিংয়ের জন্য, ইউআরএল URL ফর্ম্যাট থেকে পরিবর্তন করার পরে "গিট ক্লোন ইউআরএল" ব্যবহার করুন, http: // {myuser} @ {my_repo_ip_address} / {myrepo_name.git} to http: // {myuser}: {mypwd} @ {my_repo_ip_address} /{myrepo_name.git}

তারপরে পরবর্তী বিভাগের মতো পাসওয়ার্ডের ভাণ্ডার মুছুন।

শুদ্ধিকরণ

এখন, এই যেতে হবে এবং

  1. গিট দূরবর্তী উত্সে পাসওয়ার্ড লিখেছেন। ক্ষতি দেখতে "গিট রিমোট -v" টাইপ করুন। পাসওয়ার্ড ছাড়াই দূরবর্তী উত্স URL টি সেট করে এটি সংশোধন করুন। "গিট রিমোট সেট_আরল উত্স http: // u myuser} @ {my_repo_ip_address} / {myrepo_name.git}"
  2. সংগ্রহশালাটিতে .git / লগ-এ পাসওয়ার্ড লিখেছেন। .Git / logs -exec sed -i 's / {my_url_with_pwd} // g' {} \; এর মত ইউনিক্স কমান্ড ব্যবহার করে পিডব্লুডির সমস্ত দৃষ্টান্ত প্রতিস্থাপন করুন; এখানে, {my_url_with_pwd password হল পাসওয়ার্ড সহ ইউআরএল। যেহেতু ইউআরএলটির ফরোয়ার্ড স্ল্যাশ রয়েছে তাই এটি দুটি পিছিয়ে থাকা স্ল্যাশ করে পালানো দরকার। প্রাক্তন হিসাবে, URL- এর জন্য http: // kris: passs123@192.168.0.1/proj.git -> http: http / \\ / kris: passs123@192.168.0.1 pro / proj.git

যদি আপনার অ্যাপ্লিকেশন জাভা ব্যবহার করে এই আদেশগুলি জারি করে, রানটাইমের পরিবর্তে প্রসেসবিল্ডার ব্যবহার করুন। যদি আপনার রানটাইম অবশ্যই ব্যবহার করতে হয়, getRunTime ()। এক্সিকিউটিভ ব্যবহার করুন যা স্ট্রিং অ্যারেটিকে / bin / bash এবং -c এর সাথে আর্গুমেন্ট হিসাবে আর্গুমেন্ট হিসাবে গ্রহণ করে তবে একক স্ট্রিংকে আর্গুমেন্ট হিসাবে গ্রহণ করে।

গিট ফেচ / পুল / পুশ

  1. গিট রিমোট url এ পাসওয়ার্ডটি সেট করুন: "গিট রিমোট সেট_আরল উত্স http: // {myuser}: {mypwd} @ {my_repo_ip_address} / {myrepo_name.git}"
  2. কমান্ডটি গিট আনুন / ধাক্কা / টান দিন। তারপরে আপনাকে পাসওয়ার্ডের জন্য অনুরোধ করা হবে না।
  3. পূর্ববর্তী বিভাগের মতো শুদ্ধকরণ করুন। এটা মিস করবেন না.

0

আপনাকে একটি এসএসএইচ প্রাইভেট কী সেটআপ করতে হবে, আপনি এই পৃষ্ঠাটি পর্যালোচনা করতে পারেন , ম্যাকের জন্য কীভাবে সেটআপ করবেন, আপনি যদি লিনাক্সে থাকেন তবে গাইডটি প্রায় একই রকম হবে, উইন্ডোজটিতে আপনার এমএসওয়াইএসের মতো সরঞ্জামের প্রয়োজন হবে ।


0

এটি প্রদর্শিত হয়, অন্তত উইন্ডোজে টর্টোজাইজিআইটি ব্যবহার করার সময়, এসএসএইচ কী তৈরি করা এবং এগুলি কেবল জিআইটি সার্ভারে স্থানান্তরিত করা সম্ভব:

> ssh-keygen.exe
> ssh-copy-id [username]@[GIT_server]
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.