গিট এবং এসএসএইচ, কোন কী ব্যবহার করা হয়?


94

বলুন আপনার .sshডিরেক্টরিতে 30 টি (15 টি ব্যক্তিগত এবং 15 জন) রয়েছে।

গিটে কোথায় একটি পরীক্ষা করা যায় যে প্রদত্ত দূরবর্তী সংগ্রহস্থলের সাথে সংযোগ করতে কোনটি ব্যবহৃত হয়?


10
যে কেউ "বন্ধ", এই প্রশ্নের ভোট - সরাসরি এলেবেলে সম্পর্কে একই কারণে প্রশ্নের জন্য প্রোগ্রামিং সঙ্গে সম্পর্কযুক্ত এখানে অনুমতি দেওয়া হয়
জেমস Raitsev

4
তর্কযুক্তভাবে ... এটি সত্যই একটি অতি ব্যবহারকারী প্রশ্ন, এখানে সমস্যাটি গিট নয়, তবে যে প্ল্যাটফর্মটি চলছে তা চলছে। আপনি সমস্যার জন্য "ইন গিট" চেক করতে পারবেন না, কারণ গিটের যত্ন নেই, এটি কেবলমাত্র আপনি কীভাবে এসএসএস ব্যবহার করবেন এবং এটি কীভাবে কনফিগার করা হয়েছে তার সাথে সম্পর্কিত। আপনি কি এসএস-এজেন্ট, কোনও ধরণের কী ম্যানেজমেন্ট সিস্টেম ব্যবহার করেন, আপনি কোন অপারেটিং সিস্টেম ব্যবহার করেন, কোন সংস্করণ, ইত্যাদি?
আরাফাঙ্গিয়ন

উত্তর:


68

নিম্নলিখিত .ssh/configফাইলে এন্ট্রি সমস্যা সমাধান করে

  host git.assembla.com
  user git
  identityfile ~/.ssh/whatever

~/.ssh/whateverআপনার প্রাইভেট কীতে যাওয়ার পথ কোথায়

অতিরিক্ত হিসাবে, ব্যবহারকারী এবং হোস্ট থেকে নেওয়া যেতে পারে

git push git@git.assembla.com:repo_name.git
         ^__ ^_______________
         user host

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

হ্যাঁ, ঠিক আছে, মনে হচ্ছে যে ক্ষেত্রে মত cyberciti.biz/faq/...
MikeSchem

67

ভার্জোজ মোডে ssh চালানো, ওরফে ssh -v user@host, ডিবাগিং তথ্যের একটি বিশাল লোড প্রিন্ট করবে, এতে কোন কীফাইলে লগিনের জন্য চেষ্টা করা হচ্ছে তার বিশদ রয়েছে।

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/user/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 332
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).

এখন যদি আপনি গীত নিজস্ব মধ্যে ধাপ 4 সঙ্গে এই একত্রিত করা, , SSH সহায়তা পৃষ্ঠা , ssh -vT git@github.comআপনি উত্তর দিতে পারেন।

দ্রষ্টব্য: আপনি -iকমান্ড প্রয়োগের সময় ssh বলতে সুইচটি ব্যবহার করতে পারেন, কোন কীফাইল ব্যবহার করতে হবে।



4
আপনি এই জাতীয় কী খুঁজে পেতে ssh কমান্ডের স্ট্যান্ডার্ড ত্রুটি আউটপুট গ্রেপ করতে পারেন: ssh -vv user@host 2> >(grep Offering)- এটি জিনিসগুলিকে আরও সহজ করে তুলবে। শেষ ফাইলটি সর্বজনীন কী হওয়া উচিত। উদাহরণস্বরূপ:debug1: Offering RSA public key: /Users/macbookpro/.ssh/id_rsa
Gianfranco পি।

4
githubহিসাবে একই জিনিস নয় git
ForeverWintr

9

এটিতে নির্দিষ্ট না করা থাকলে এটি .ssh/configডিফল্ট ব্যক্তিগত কী ফাইলটি ব্যবহার করবে।

ডিফল্ট ফাইল ~/.ssh/id_rsaবা ~/.ssh/id_dsaবা ~/.ssh/identityপ্রোটোকল সংস্করণ উপর নির্ভর করে।


কীগুলি পরিচিত হোস্টগুলিতে যুক্ত হয়?
mountainLion

6

আমি আমার স্বাদ সবচেয়ে ব্যবহারিক বলতে চাই:

GIT_SSH_COMMAND='ssh -v' git …

অবশ্যই পরিস্থিতিগুলির উপর নির্ভর করে এটি কেবলমাত্র বর্তমান শেলের পরিবেশে রফতানি করা উপকারী হতে পারে যাতে আপনাকে প্রতিবারের মতো ম্যানুয়ালি এড়াতে হবে না। তাহলে এটি এইভাবে হতে হবে:

export GIT_SSH_COMMAND='ssh -v'
git …

- যেমন man gitপ্রস্তাবিত আছে যে কয়েকটি পরিবেশগত পরিবর্তনশীল এসএসএইচ ব্যবহারের সাথে গিটের ক্রিয়াকলাপগুলিকে প্রভাবিত করবে। মতে আপনি বিকল্প man sshডিফল্ট করার সময় কিছুটা ডিবাগিং তথ্য পেতে পারেন -v(কেবলমাত্র নয়, আপনি যদি আরও আগ্রহী হন তবে ম্যানুয়ালটিও দেখুন)।

কোন কী ব্যবহার করা হয়?

আউটপুটে আপনি স্মিথ দেখতে পাবেন…

debug1: Offering public key: …

… যা আপনার প্রশ্নটির উত্তর।


4
হ্যাঁ. এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। এটা Windows এ কাজ সিএমডি করতে (বিতৃষ্ণা), ব্যবহার: set GIT_SSH_COMMAND=ssh -v। এটি আমাকে জানায় যে ssh-config Inlcude-Path উইন্ডোতে এই জাতীয় কিছু হওয়া উচিত: Include /C/Users/YourUserName.ssh/configssh তৈরি করতে এবং এইভাবে একটি কনফিগার ফাইল ব্যবহার করতে পারে যা উদাহরণস্বরূপ HOST *পরিচয় ফাইল git / ssh ব্যবহারগুলি নির্দিষ্ট করার জন্য একটি এন্ট্রি ব্যবহার করে।
আইসিয়েরাসর

5

যেহেতু gitকেবল sshসংযোগ করার জন্য ব্যবহার করে, এটি sshদূরবর্তী হোস্টের সাথে সংযোগ করতে যে কোনও কী ব্যবহার করবে । ~/.ssh/configবিশদ জন্য ফাইল দেখুন ; hostব্লক ব্যবহার IdentityFileব্যবহার করার জন্য ব্যক্তিগত কী নির্দিষ্ট করার নির্দেশ। ssh_config(5)র manpage সম্পূর্ণ বিবরণের ধারণ করে।


হুম .. ফাইলটি আমার সিস্টেমে নেই। এটি করা উচিত?
জেমস রাইতসেভ

4
@ জ্যাম আপনি কি ওএস ব্যবহার করছেন? এছাড়াও, কখনও কখনও কনফিগার ফাইলটি/etc/ssh/ssh_config

আমি ম্যাকোজে আছি পাওয়া গেছে /etc/ssh_configযা মন্তব্য করা এন্ট্রিগুলিতে পূর্ণ একটি ফাইল বলে মনে হচ্ছে
জেমস রায়টসেভ

আপনি ~/.ssh/configনিজের তৈরি করতে পারেন
xdazz

4

এটি সুপার এজ হতে পারে তবে ssh -vT git@github.comএটি চালানোর পরে আমাকে দেখিয়েছে এটি /root/.sshকীগুলি অনুসন্ধান করছে, আমি এটি আমার হোম ডিরেক্টরিটি পরীক্ষা করার আশা করছিলাম এবং তখন আমি বুঝতে পারি যে আমি রুট হিসাবে লগ ইন করেছি!


এই কৌশলটি, sshজিজ্ঞাসাবাদের অন্যান্য একই পদ্ধতির মধ্যে সঠিক সমাধান are ধন্যবাদ
ইগেনফিল্ড

1

রিমোট সার্ভারে, sshd_config ফাইলটি সম্পাদনা করুন এবং লগলভেলকে INFO থেকে VERBOSE এ পরিবর্তন করুন এবং ssh পুনরায় আরম্ভ করুন।

এখন আপনার লগ ফাইলটি প্রতিটি ব্যবহারকারীকে প্রমাণীকরণ করতে ব্যবহৃত কীটির ফিঙ্গারপ্রিন্ট ধরে রাখবে।

উবুন্টুতে, এই ফাইলগুলি হ'ল:

/etc/ssh/sshd_config
/var/log/auth.log

তবে তারা অন্য ডিস্ট্রোতে আলাদা হতে পারে। তাদের অবস্থানের জন্য কেবল গুগল করুন (উদাহরণস্বরূপ কিছু ব্যবহার / var / লগ / সুরক্ষিত)।

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