বলুন আপনার .ssh
ডিরেক্টরিতে 30 টি (15 টি ব্যক্তিগত এবং 15 জন) রয়েছে।
গিটে কোথায় একটি পরীক্ষা করা যায় যে প্রদত্ত দূরবর্তী সংগ্রহস্থলের সাথে সংযোগ করতে কোনটি ব্যবহৃত হয়?
বলুন আপনার .ssh
ডিরেক্টরিতে 30 টি (15 টি ব্যক্তিগত এবং 15 জন) রয়েছে।
গিটে কোথায় একটি পরীক্ষা করা যায় যে প্রদত্ত দূরবর্তী সংগ্রহস্থলের সাথে সংযোগ করতে কোনটি ব্যবহৃত হয়?
উত্তর:
নিম্নলিখিত .ssh/config
ফাইলে এন্ট্রি সমস্যা সমাধান করে
host git.assembla.com
user git
identityfile ~/.ssh/whatever
~/.ssh/whatever
আপনার প্রাইভেট কীতে যাওয়ার পথ কোথায়
অতিরিক্ত হিসাবে, ব্যবহারকারী এবং হোস্ট থেকে নেওয়া যেতে পারে
git push git@git.assembla.com:repo_name.git
^__ ^_______________
user host
ভার্জোজ মোডে 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 বলতে সুইচটি ব্যবহার করতে পারেন, কোন কীফাইল ব্যবহার করতে হবে।
ssh -vv user@host 2> >(grep Offering)
- এটি জিনিসগুলিকে আরও সহজ করে তুলবে। শেষ ফাইলটি সর্বজনীন কী হওয়া উচিত। উদাহরণস্বরূপ:debug1: Offering RSA public key: /Users/macbookpro/.ssh/id_rsa
github
হিসাবে একই জিনিস নয় git
।
এটিতে নির্দিষ্ট না করা থাকলে এটি .ssh/config
ডিফল্ট ব্যক্তিগত কী ফাইলটি ব্যবহার করবে।
ডিফল্ট ফাইল ~/.ssh/id_rsa
বা ~/.ssh/id_dsa
বা ~/.ssh/identity
প্রোটোকল সংস্করণ উপর নির্ভর করে।
আমি আমার স্বাদ সবচেয়ে ব্যবহারিক বলতে চাই:
GIT_SSH_COMMAND='ssh -v' git …
অবশ্যই পরিস্থিতিগুলির উপর নির্ভর করে এটি কেবলমাত্র বর্তমান শেলের পরিবেশে রফতানি করা উপকারী হতে পারে যাতে আপনাকে প্রতিবারের মতো ম্যানুয়ালি এড়াতে হবে না। তাহলে এটি এইভাবে হতে হবে:
export GIT_SSH_COMMAND='ssh -v'
git …
- যেমন man git
প্রস্তাবিত আছে যে কয়েকটি পরিবেশগত পরিবর্তনশীল এসএসএইচ ব্যবহারের সাথে গিটের ক্রিয়াকলাপগুলিকে প্রভাবিত করবে। মতে আপনি বিকল্প man ssh
ডিফল্ট করার সময় কিছুটা ডিবাগিং তথ্য পেতে পারেন -v
(কেবলমাত্র নয়, আপনি যদি আরও আগ্রহী হন তবে ম্যানুয়ালটিও দেখুন)।
কোন কী ব্যবহার করা হয়?
আউটপুটে আপনি স্মিথ দেখতে পাবেন…
debug1: Offering public key: …
… যা আপনার প্রশ্নটির উত্তর।
set GIT_SSH_COMMAND=ssh -v
। এটি আমাকে জানায় যে ssh-config Inlcude-Path উইন্ডোতে এই জাতীয় কিছু হওয়া উচিত: Include /C/Users/YourUserName.ssh/config
ssh তৈরি করতে এবং এইভাবে একটি কনফিগার ফাইল ব্যবহার করতে পারে যা উদাহরণস্বরূপ HOST *
পরিচয় ফাইল git / ssh ব্যবহারগুলি নির্দিষ্ট করার জন্য একটি এন্ট্রি ব্যবহার করে।
যেহেতু git
কেবল ssh
সংযোগ করার জন্য ব্যবহার করে, এটি ssh
দূরবর্তী হোস্টের সাথে সংযোগ করতে যে কোনও কী ব্যবহার করবে । ~/.ssh/config
বিশদ জন্য ফাইল দেখুন ; host
ব্লক ব্যবহার IdentityFile
ব্যবহার করার জন্য ব্যক্তিগত কী নির্দিষ্ট করার নির্দেশ। ssh_config(5)
র manpage সম্পূর্ণ বিবরণের ধারণ করে।
/etc/ssh_config
যা মন্তব্য করা এন্ট্রিগুলিতে পূর্ণ একটি ফাইল বলে মনে হচ্ছে
~/.ssh/config
নিজের তৈরি করতে পারেন
এটি সুপার এজ হতে পারে তবে ssh -vT git@github.com
এটি চালানোর পরে আমাকে দেখিয়েছে এটি /root/.ssh
কীগুলি অনুসন্ধান করছে, আমি এটি আমার হোম ডিরেক্টরিটি পরীক্ষা করার আশা করছিলাম এবং তখন আমি বুঝতে পারি যে আমি রুট হিসাবে লগ ইন করেছি!
ssh
জিজ্ঞাসাবাদের অন্যান্য একই পদ্ধতির মধ্যে সঠিক সমাধান are ধন্যবাদ
রিমোট সার্ভারে, sshd_config ফাইলটি সম্পাদনা করুন এবং লগলভেলকে INFO থেকে VERBOSE এ পরিবর্তন করুন এবং ssh পুনরায় আরম্ভ করুন।
এখন আপনার লগ ফাইলটি প্রতিটি ব্যবহারকারীকে প্রমাণীকরণ করতে ব্যবহৃত কীটির ফিঙ্গারপ্রিন্ট ধরে রাখবে।
উবুন্টুতে, এই ফাইলগুলি হ'ল:
/etc/ssh/sshd_config
/var/log/auth.log
তবে তারা অন্য ডিস্ট্রোতে আলাদা হতে পারে। তাদের অবস্থানের জন্য কেবল গুগল করুন (উদাহরণস্বরূপ কিছু ব্যবহার / var / লগ / সুরক্ষিত)।