মার্চুরিয়াল দিয়ে কীভাবে ব্যবহারকারীর নাম এবং পাসওয়ার্ড সংরক্ষণ করবেন?


269

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

আমি .hgrcআমার হোম ডিরেক্টরিতে ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করার চেষ্টা করেছি, তবে এটি সম্পূর্ণ উপেক্ষা করা হবে বলে মনে হচ্ছে।

[ui]
username = MY_USER_NAME
password = MY_PASSWORD

এটি কিভাবে সঠিক উপায়ে করবেন?

উত্তর:


328

আপনি আপনার .hgrcবা Mercurial.iniফাইলে একটি লেখক বিভাগ তৈরি করতে পারেন , এর মতো:

[auth]
bb.prefix = https://bitbucket.org/repo/path
bb.username = foo
bb.password = foo_passwd

'বিবি' অংশটি একটি স্বেচ্ছাচারী শনাক্তকারী এবং ব্যবহারকারীর নাম এবং পাসওয়ার্ডের সাথে উপসর্গের সাথে মেলে - বিভিন্ন সাইটের সাথে বিভিন্ন ব্যবহারকারীর নাম / পাসওয়ার্ড কম্বো পরিচালনার জন্য সহজ (উপসর্গ)

আপনি কেবল ব্যবহারকারীর নাম নির্দিষ্ট করতে পারেন, তারপরে আপনি চাপ দেওয়ার সময় আপনার পাসওয়ার্ডটি টাইপ করতে হবে।

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


3
সার্ভার হ'ল কেন এই কাজ করে না: ssh: // HGSERVER? "ssh: // ব্যবহারকারীর নাম: পাসওয়ার্ড @ HGSERVER" ফর্ম্যাটটিও কাজ করে না ..
ওরেেন

1
@ ওরেেন - নীচের মন্তব্যটি দেখুন - আপনি যদি এসএসএইচ ব্যবহার করছেন তবে কী-ভিত্তিক লগইনটি ব্যবহার করবেন না?
ডেভিড ইডস

@ সান্টাফাউউন্ড যেমন পাঠ্যটি বলেছে, এর "স্বেচ্ছাসেবক" এবং এটি ব্যবহারকারীর নাম এবং পাসওয়ার্ডটিকে উপসর্গের সাথে সংযুক্ত করতে ব্যবহার করা হয় যাতে আপনার বোঝার কোনও ট্যাগ সরবরাহ করে।
ক্রিস ম্যাককলি

আমি সত্যিই সরল পাঠ্যে পাসওয়ার্ডগুলি সংরক্ষণ করার পরামর্শ দেব না (এটি উত্তম বিকল্পের জন্য সংক্ষেপে উল্লেখ না করলেও, যা এই উত্তরটি কী তা করে)।
জ্যাস্পার

170

এটি করার জন্য তিনটি উপায় রয়েছে: .hgrc ফাইলটি ব্যবহার করুন, এসএসএস ব্যবহার করুন বা কীরিং এক্সটেনশন ব্যবহার করুন


1. অসম্পূর্ণ উপায় - আপনার ~ / .hgrc ফাইল আপডেট করুন

আমার জন্য যে ফর্ম্যাটটি কাজ করে (এটি আমার ~ / .hgrc ফাইলে রয়েছে) এটি

[ui]
username=Chris McCauley <chris.mccauley@mydomain.com>

[auth]
repo.prefix = https://server/repo_path
repo.username = username
repo.password = password


আপনি একটি অনন্য ট্যাগ প্রেরণ করে উপসর্গ, ব্যবহারকারীর নাম, পাসওয়ার্ডের আরও ট্রিপল্ট যুক্ত করে যতগুলি রেপো কনফিগার করতে পারেন।

এটি কেবল মার্চুরিয়াল ১.৩ এ কাজ করে এবং স্পষ্টতই আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড সরল পাঠ্যে রয়েছে - ভাল নয়।


2. নিরাপদ উপায় - পাসওয়ার্ড ব্যবহার করে AVOID করতে এসএসএইচ ব্যবহার করুন

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


আপনি এখানে পাসওয়ার্ডহীন লগইন কনফিগার করতে আরও তথ্য পেতে পারেন


৩. কীরিং এক্সটেনশন

আপনি যদি কোনও সুরক্ষিত বিকল্প চান তবে এসএসএইচের সাথে পরিচিত না হন, কেন এটি চেষ্টা করবেন না?

ডক্স থেকে ...

এক্সটেনশনটি প্রদত্ত দূরবর্তী সংগ্রহস্থলটিতে প্রথম টানে / পুশ-তে HTTP পাসওয়ার্ডের জন্য অনুরোধ জানায় (ঠিক যেমন এটি ডিফল্টরূপে করা হয়), তবে পাসওয়ার্ডটি সংরক্ষণ করে (পাসওয়ার্ডের ডেটাবেজে ইউজারনেম এবং রিমোট রিপোজিটরি url এর সংমিশ্রণে কী) ves পরের রানে এটি .hg / hgrc এ ব্যবহারকারীর নাম পরীক্ষা করে, তারপরে পাসওয়ার্ড ডাটাবেসে উপযুক্ত পাসওয়ার্ডের জন্য এবং যদি খুঁজে পাওয়া যায় তবে এই শংসাপত্রগুলি ব্যবহার করে।

এখানে আরও বিস্তারিত তথ্য রয়েছে


3
স্যাটোরু, ক্রিস পার্কিয়াল সম্পর্কে কথা বলছে না, তবে এসএসএস সম্পর্কে : এসএসএস সেট আপ করা যেতে পারে যাতে আপনাকে একটি পাসওয়ার্ড ব্যবহার করে নিজেকে সনাক্ত করতে না হয় (যেমন যেমন এখানে বর্ণিত: দেবিয়-প্রশাসক.আর . / আর্টিকেলস / ১৫২ )।
টমিস্লাভ নাইকিক-আলফায়ারভিক

4
নিরাপদভাবে জিনিসগুলি হ্যান্ডেল করার এবং দূরবর্তী সিস্টেমে ব্যবহারকারী-স্তরের অনুমতি বজায় রাখার একমাত্র উপায় পদ্ধতি 2 ।
পিটার রোয়েল

2
কীরিং ইন্টিগ্রেশন ব্যবহারের জন্য ব্যবহারকারীর 7070০626 answer উত্তর এর যে কোনওটির থেকে অনেক ভাল। @ পিটার রওয়েল: আপনার কিছু ব্যবহারকারী এবং সংগ্রহস্থল থাকলে ssh সেটআপটি একটি বাস্তব ব্যথা; আপনার স্থানীয় ইউনিক্স ব্যবহারকারী প্রয়োজন এবং .ssh / ਅਧਿਕਾਰ্য_কি এবং শেল র‌্যাপার দিয়ে চালানো যেতে পারে এমন কমান্ডগুলি সীমাবদ্ধ করে উপহাস করতে হবে। ঠিক পরিষ্কার সমাধান নয়।
ড্রাগন

5
@ পিটার রওয়েল: ১. এতে কী পার্থক্য রয়েছে? আমি বলেছিলাম যে তার সমাধানটি খুব শীঘ্রই ভাল ছিল না। ২. এটি হোস্টিংয়ের পরিবেশের সাথে কোনও সম্পর্ক রাখে না, এটি নিখুঁতভাবে ক্লায়েন্ট দিকের (আপনার এসএসএইচ সমাধানের বিপরীতে এটি সমর্থন করার জন্য সার্ভারের দিকে পরিবর্তন প্রয়োজন)। ৩. ট্রোলিং এবং অহংকারের উপর চকচকে, আমি এখনও বলি যে এটি কোনও পরিষ্কার সমাধান নয়। আপনার একটি স্থানীয় ব্যবহারকারী প্রয়োজন এবং আপনাকে তাদের শেল অ্যাক্সেস দিতে হবে তবে তা সীমাবদ্ধ করুন। শেল অ্যাক্সেস সর্বদা বুদ্ধিমান বিকল্প নয়। আমি অবাক হয়েছি যে আপনার অভিজ্ঞতার কেউ সায়সডমিন জুড়ে আসে নি যারা আপনার সার্ভিস শেল অ্যাক্সেস দিতে চায়নি।
ড্রইমন

2
@ ড্রেমন: আমি অনুমান করি আমাদের বিভিন্ন অভিজ্ঞতা রয়েছে। ব্যক্তিগতভাবে, আমি এমন সিস্টেমে কাজ করব না যেখানে আমার শেল প্রম্পট নেই। আমার যা প্রয়োজন তা ইতিমধ্যে ইনস্টল করতে এটি আমাকে অন্য সিস্টেমের উপর সম্পূর্ণ নির্ভর করে তোলে। আমার সাধারণ অভিজ্ঞতাটি হ'ল যদি আমি প্রম্পট না পাই তবে আমি অবশ্যই আমার কর্মপ্রবাহের জন্য মৌলিক হিসাবে বিবেচিত অন্যান্য পরিষেবাগুলি পেতে পারি না। বিভিন্ন লোকের জন্য আলাদা (কী) স্ট্রোক।
পিটার রোয়েল

65

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

>> sudo apt-get install python-pip
>> sudo pip install keyring
>> sudo pip install mercurial_keyring

**Edit your .hgrc file to include the extension**
[extensions]
mercurial_keyring = 

https://www.mercurial-scm.org/wiki/KeyringExtension


1
এটি আমার প্রিয় সমাধান। ... এবং মাত্র দ্বিতীয় কি বলেন @hadrien তিন কর্মের এটি Mac OS এক্স উপর একটি যাদুমন্ত্র মত কাজ বর্ণিত,
ngeek

আমাকে দ্বিতীয় ভাবার জন্য আমিও দ্বিতীয়!
হ্যাড্রিয়েন

Windows এ অন্তত TortoiseHg keyring এক্সটেনশন সমর্থন: গ্লোবাল সেটিংস -> এক্সটেনশানগুলি -> mercurial_keyring
user272735

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

এটি সর্বোত্তম সমাধানের মতো বলে মনে হয় তবে আমি যখন ওএসএক্সে এটি ব্যবহার করার চেষ্টা করি তখন কীচেইন থেকে পাসওয়ার্ড পাওয়ার চেষ্টা করার সময় পাইথন সিগফল্টস।
ইসহাক

30

একটি সাধারণ হ্যাক হ'ল আপনার প্রকল্পের .hg/hgrcফাইলের ইউআরএল-এর নাম এবং পাসওয়ার্ড যুক্ত করুন:

[paths]
default = http://username:password@mydomain.com/myproject

(মনে রাখবেন যে আপনি এইভাবে পাসওয়ার্ডটি সরল পাঠ্যে সংরক্ষণ করেন)

আপনি যদি একই ডোমেনের অধীনে বেশ কয়েকটি প্রকল্পে কাজ করে থাকেন তবে সমস্ত প্রকল্পের জন্য এটির পুনরাবৃত্তি এড়াতে আপনি নিজের ফাইলটিতে একটি পুনর্লিখনের নিয়ম যুক্ত করতে চাইতে পারেন ~/.hgrc:

[rewrite]
http.//mydomain.com = http://username:password@mydomain.com

আবার, যেহেতু পাসওয়ার্ডটি সরল পাঠ্যে সংরক্ষণ করা হয়, তাই আমি সাধারণত আমার ব্যবহারকারীর নামটি সঞ্চয় করি।

আপনি যদি জ্নোমের অধীনে কাজ করছেন, আমি এখানে মার্র্কিয়াল এবং জিনোম কেরিংকে কীভাবে সংহত করতে হবে তা ব্যাখ্যা করছি:

http://aloiroberto.wordpress.com/2009/09/16/mercurial-gnome-keyring-integration/


আমি এক্সটেনশন ডাউনলোড করেছেন, তবে, যখন আমি একটি ধাক্কা পাসওয়ার্ড প্রম্পটের আমাকে পাস :( করা আমি এটা কুপথ আমি আগে গনোম কিরিঙ কখনও ব্যবহার করেছেন সম্পন্ন হতে পারে দিন করতে রাজি করার চেষ্টা সব আপনাকে ধন্যবাদ
satoru

এইচজি পুশের জন্য আপনি কী --debug এবং --verbose বিকল্পগুলি ব্যবহার করতে চাইতে পারেন কী ভুল হচ্ছে ...
রবার্তো অ্যালোই

হাতের
কেসটির

ধরে নিই আপনার কাছে এমন কোনও ডিভাইসের বিলাসিতা রয়েছে যা আপনি অবশ্যই পাবলিক কী বন্ধ করতে পারেন।
ডেভিড

23

উপরের NOBODY একজন নবাগত ব্যবহারকারীকে শর্তাবলী ব্যাখ্যা / স্পষ্ট করে দিয়েছে। তারা শর্তাবলী বিভ্রান্ত হয়

.hg / hgrc - এই ফাইলটি স্থানীয় / কর্মক্ষেত্রের স্থানে / প্রকৃত সংগ্রহস্থলের .hg ফোল্ডারে রিপোজিটরির জন্য ব্যবহৃত হয়।

~ / .hgrc - এই ফাইলটি নীচের চেয়ে পৃথক। এই ফাইলটি ~ বা হোম ডিরেক্টরিতে থাকে।

myremote.xxxx = ..... বিবি.এক্সএক্সএক্সএক্সএক্স ..... ......

মার্উরিয়াল কীরিং এক্সটেনশন ব্যবহার করার সময় এটি [প্রবন্ধ] বিভাগ / নির্দেশের অধীনে একটি লাইন। আপনি যে সার্ভারের নাম রেখেছেন তা নিশ্চিত করুন, "এইচজি ক্লোন" করার সময় আপনি যা ব্যবহার করেন তার সাথে মেলে নাহলে কীরিং বলবে, ব্যবহারকারী পাওয়া যায় নি। নীচের লাইনে বিবি বা মাইরামোট, হ'ল "উপনামের নাম" যা আপনি "এইচজি ক্লোন http: /.../..// repo1 বিবি বা মাইরামোট" করার সময় দিতে হবে অন্যথায়, এটি কাজ করবে না বা আপনার নিজের স্থানীয়টিকে নিশ্চিত করতে হবে সংগ্রহস্থলের .hg / hgrc ফাইলটিতে একই উরফ থাকে, যেমন (এইচজি ক্লোন করার সময় আপনি যা দিয়েছিলেন .. শেষ প্যারামিটার হিসাবে)।

স্পষ্ট বিবরণের জন্য নীচের লিঙ্কগুলি, দ্রুত লিখিত ব্যাকরণের জন্য দুঃখিত।

উদাহরণস্বরূপ: যদি's / .hgrc এর ভিতরে (লিনাক্স / ইউনিক্সে ব্যবহারকারীর হোম ডিরেক্টরি) বা ব্যবহারকারীর হোম ডিরেক্টরিতে উইন্ডোতে ਮਰুরালিয়াল ইনআই থাকে তবে নিম্নলিখিত লাইনটি থাকে এবং যদি আপনি তা করেন

`"hg clone http://.../.../reponame myremote"`

, তারপরে আপনাকে কখনও ইউএসপি রেপো লিঙ্কে একবারের বেশি ব্যবহারকারীর শংসাপত্রগুলির জন্য অনুরোধ করা হবে না। Extension / .hgrc এর অধীনে [এক্সটেনশানগুলি] "মরুরিয়াল_কিরিং =" বা "hgext.mercurial_keyring = /path/to/your/mercurial_keyring.py" এর জন্য একটি লাইন .. এই লাইনের একটি হওয়া উচিত।

[auth]
myremote.schemes = http https
myremote.prefix = thsusncdnvm99/hg
myremote.username = c123456

আমি কীভাবে প্রিফেক্স সম্পত্তি সেট করবেন তা জানার চেষ্টা করছি যাতে ব্যবহারকারীর নাম / পাসওয়ার্ড প্রম্পট ছাড়াই এবং কোনও http: // .... / ... - এ কী উল্লেখ করেছেন সে সম্পর্কে উদ্বিগ্ন না হয়ে ব্যবহারকারী কোনও ক্লোন করতে বা কোনও Hg ক্রিয়াকলাপ সম্পাদন করতে পারে সার্ভারনেম Hg রেপো লিঙ্কটি ব্যবহার করার সময়। এটি আইপি, সার্ভারনেম বা সার্ভারের এফকিউডিএন হতে পারে


4

ম্যাকপোর্টস ব্যবহার করে ম্যাক ওএসএক্সে কারুরিয়াল_কিরিং ইনস্টলেশন:

sudo port install py-keyring
sudo port install py-mercurial_keyring

নিম্নলিখিতগুলি ~ / .hgrc এ যুক্ত করুন:

# Add your username if you haven't already done so.
[ui]
username = email@address.com

[extensions]
mercurial_keyring =

এই কমান্ডগুলি চালনা করে এবং আমার .hgrc ফাইল আপডেট করার পরে আমি টরটোইজএইগরিতে "মুরিউরিয়াল_কিরিং নামের কোনও মডিউল" পাই না।
ডানচ

: যেমন এখানে বর্ণিত আপনি সঠিক পাইথন সংস্করণ আছে নিশ্চিত করুন, stackoverflow.com/questions/5173197/...
PHM

2

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

এখানে চিত্র বর্ণনা লিখুন

গ্লোবাল সেটিংস যুক্ত করতে আপনি সি: \ ব্যবহারকারী \ ব্যবহারকারীর নাম \ mercurial.ini ফাইলটি অ্যাক্সেস করতে এবং বিভাগটি যুক্ত করতে পারেন

[auth]
bb.prefix=https://bitbucket.org/zambezia/packagemanager
bb.username = $username
bb.password = $password

আশাকরি এটা সাহায্য করবে.


0

যদিও এটি আপনার পরিস্থিতিতে কাজ করতে পারে বা নাও পারে, আমি পুট্টির পেজেন্ট ব্যবহার করে একটি পাবলিক / প্রাইভেট কী তৈরি করা দরকারী বলে মনে করেছি।

আপনি যদি বিটবকেট (.org) দিয়েও কাজ করে থাকেন তবে এটি আপনাকে আপনার অ্যাকাউন্টে একটি পাবলিক কী সরবরাহ করার ক্ষমতা দেয় এবং তারপরে কমান্ডগুলি যে সংগ্রহস্থলে পৌঁছায় তা স্বয়ংক্রিয়ভাবে সুরক্ষিত হবে।

যদি পেজ্যান্ট আপনার জন্য পুনরায় বুট শুরু না করে, আপনি আপনার উইন্ডোজ "স্টার্ট মেনু" তে পেজেন্টে একটি শর্টকাট যুক্ত করতে পারেন এবং শর্টকাটে আপনার ব্যক্তিগত (.ppk) ফাইলের অবস্থানের সাথে একটি 'বৈশিষ্ট্য' পপুলেট করতে হবে ।

এটির জায়গায় মার্চুরিয়াল এবং আপনার স্থানীয় সংগ্রহস্থলগুলিকে এসএসএইচ ফর্ম্যাটটি ব্যবহার করে ধাক্কা / টানতে সেটআপ করা দরকার।

উইন্ডোজ ওআর ম্যাক / লিনাক্সের জন্য আটলাসিয়ানদের সাইটে কয়েকটি বিশদ নির্দেশনা দেওয়া হল ।

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

  1. পুটিজেন শুরু থেকে শুরু করুন -> পটিটি-> পুটিগেন
  2. একটি নতুন কী উত্পন্ন করুন এবং একটি পাসফ্রেজ ছাড়াই .ppk ফাইল হিসাবে এটি সংরক্ষণ করুন
  3. আপনি যে সার্ভারে সংযোগ করতে চান তাতে লগইন করতে পুট্টি ব্যবহার করুন
  4. পুটিজেন থেকে Key / .ssh / অনুমোদিত_মানের লেখায় সর্বজনীন কী পাঠ্য যুক্ত করুন
  5. আপনার .ppk ফাইলটিতে শর্টকাট তৈরি করুন -> পুটি থেকে শুরু -> স্টার্টআপ থেকে
  6. স্টার্টআপ মেনু থেকে .ppk শর্টকাটটি নির্বাচন করুন (এটি প্রতিটি প্রারম্ভের সময় স্বয়ংক্রিয়ভাবে ঘটবে)
  7. সিস্টেম ট্রেতে পেজেন্ট আইকনটি দেখুন? এটিকে ডান-ক্লিক করুন এবং "নতুন সেশন" নির্বাচন করুন
  8. "হোস্ট নেম" ক্ষেত্রে ব্যবহারকারী নাম @ হোস্টনাম লিখুন
  9. আপনি এখন স্বয়ংক্রিয়ভাবে লগ ইন করবেন।

0

কীরিং এক্সটেনশন ব্যবহার করুন। Merurial.ini ফাইলটিতে প্রবেশের নীচে যুক্ত করুন।

[এক্সটেনশনগুলি] মুরুরিয়াল_কিরিং =

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