উইন্ডোতে বাশের সাথে ব্যক্তিগত এসএসএইচ কীগুলি ভাগ করুন


18

আমার উইন্ডোজ 10 গিট ইনস্টল করা আছে। এই গিটটি আমার C:/Users/MyNameডাইরটিকে হোম ডিরেক্টরি এবং /.ssh/ডিরের মধ্যে ডায়ার ব্যবহার করে যথাযথভাবে আমার ব্যক্তিগত এসএসএইচ কীগুলি সরবরাহ করার জন্য ব্যবহার করে।

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

সমস্যা হ'ল বাশে থাকা হোম ডাইর আলাদা ( /home/MyName) এবং এটি এখনকার দূরবর্তী অবস্থিত কীগুলি দেখতে পাবে না ../../mnt/c/Users/MyName/.ssh। আমি ভেবেছিলাম যে আমি হোম এনভায়রনমেন্ট ভেরিয়েবলটি ব্যবহার করে কোনও বিজয়ীর সাথে থাকব

export HOME=/c/mnt/Users/MyName

এটি সফলভাবে হোম dir পরিবর্তন করেছে কিন্তু ব্যাশ গিট এখনও দিরের মধ্যে থাকা কীগুলি দেখতে পাবে না ./.ssh

আমি নিশ্চিত নই যে এটি হ'ল) ​​কারণ বাশ গিটটি অন্য কোনও ফাইল ফর্ম্যাটে কীগুলি প্রত্যাশা করে? ( বর্তমানগুলি হ'ল id_rsaএবং id_rsa.pub) খ) বাশ গিট পরিবর্তিত হোম ভেরিয়েবলটিকে উপেক্ষা করছে? অথবা উভয় হতে পারে।

আমিও নিশ্চিত নই সি) যদি নির্বিচারে এইভাবে হোম ভেরিয়েবল পরিবর্তন করা হয় তবে সাধারণ প্রোগ্রামগুলিতে এটি উল্লেখ করা যেতে পারে এমন অন্যান্য প্রোগ্রামগুলিতে একটি ভাল ধারণা?


2
মনে হচ্ছে এটি একটি সিমিলিংকের সময় হয়ে গেছে।
টেলাস্টিন

হুঁ .sshইতিমধ্যে এখানে উপস্থিত রয়েছে /home/MyName... একটি ফাইল কি সিমেলিংক করতে পারে? এমন কি আমি করব ln -s /mnt/c/Users/MyName/.ssh/id_rsa /.ssh/id_rsa? (সিলেকিংয়ের ক্ষেত্রেও নতুন!)
টবি

গম্ভীর গর্জন! এটি একটি ট্রিট কাজ করে! @ টেলাস্টিন যদি আপনি নিজের মন্তব্যে কোনও উত্তর দিতে চান তবে আমি তা গ্রহণ করব :-) (যদিও আমি এখনও নিশ্চিত না যে কেন কেবলমাত্র হোম ভার পরিবর্তন করা প্রথম স্থানে কার্যকর হয়নি)
টবি

2
আপনি যদি পুরো .sshডিরেক্টরিটি সিমলিং করেন তবে এটি আরও ভাল কাজ করে ।
ট্রিপলি

1
আমার স্মরণশক্তিটি হ'ল পুটি তার স্টাফগুলি পুরোপুরি কিছু আলাদা জায়গায় রেখে দেয় তবে আমার এক বছর পেরিয়ে গেছে যখন শেষবার উইন্ডোজের স্পর্শ করতে হয়েছিল (ধন্যবাদ m ডিএমআর)
ট্রিপল

উত্তর:


19

তাই টেলাস্টিন মন্তব্য করার সাথে সাথে আমি ডাব্লুএসএলগুলিতে ~/.ssh/আইডি_আরএসএ এবং আইডি_আরসা.পব ব্যবহার করে সিমলিংকগুলি যুক্ত করেছি:

> ln -s /mnt/c/Users/MyName/.ssh/id_rsa ~/.ssh/id_rsa
> ln -s /mnt/c/Users/MyName/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub

পরিবর্তে ট্রিপলির পরামর্শ অনুসারে সিমলিংক ডিরেক্টরিটি সংযুক্ত করার জন্য একই কৌশলটি ব্যবহার করে আমার যতক্ষণ না দেখা পেলাম যে আমি lnকমান্ডটিতে ব্যবহৃত ট্রেলিং স্ল্যাশগুলি (ডিরেক্টরিটির নাম পূরণের জন্য ট্যাব কী ব্যবহার করা থেকে বামে) ছিল তা একটি সমস্যা ছিল। সুতরাং, উপরেরটি না করে আরও ভাল করা সম্ভব:

> ln -s /mnt/c/Users/Myname/.ssh ~/.ssh

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

এই আধুনিক পদ্ধতিটির অর্থ দুটি পৃথক পরিবেশের মধ্যে ব্যবহৃত এসএসএইচের জন্য ব্যবহৃত বিশদটি ঠিক একই।

একটি ছোট কিন্তু গুরুত্বপূর্ণ অনুপস্থিত চরিত্রটি নির্দেশ করার জন্য মাতাজ কে ধন্যবাদ!


3
এটি > ln -s /mnt/c/Users/MyName/.ssh/id_rsa ~/.ssh/id_rsa"~" যুক্ত করা উচিত । নাঃ?
মাতাজ কে

7
মনে রাখবেন যে ডিরেক্টরিগুলির মধ্যে যদি এটি তৈরি private keysকরে bash on windowsতবে এটি ব্যবহার করা সম্ভব নয় s link। এটি করার ফলে ssh agentব্যক্তিগত কী ফাইলগুলিতে খারাপ অনুমতি সম্পর্কে অভিযোগ উঠবে to যেহেতু উইন্ডো থেকে মাউন্ট করা ফাইলগুলি তাদের অনুমতি পরিবর্তন করা যায় না।
ওক

@ ওাক কি বাশ দিয়ে আদৌ সম্ভব?
টিজে জিঞ্জার 19

@ টিজে জিঞ্জার আপনার মানে কি?
ওক

@ ওক, এনিটি ব্ল্যাক নীচে ঠিক করার চেষ্টা করছে কি ? বা এটি একটি ভিন্ন ইস্যু সম্বোধন করছে?
sferencik

11

নতুন বিল্ড "ইনসাইডার বিল্ড 17063" এর ভিত্তিতে এখন ফাইলগুলির জন্য অনুমতিগুলি ভিন্নভাবে কাজ করে। সংক্ষেপে আপনার করা দরকার:

sudo umount /mnt/c
sudo mount -t drvfs C: /mnt/c -o metadata

এটি আপনার প্রয়োজন অনুসারে আপনার ssh ফোল্ডারের কাজের অনুমতি দেবে। তারপরে ওপি তার উত্তরের পরামর্শ অনুসারে সংগ্রহ করা হয়েছে।

প্রাসঙ্গিক লিঙ্ক:

https://github.com/Mic Microsoft/ WSL/ issues/ 3181 https: //blogs.msdn.mic Microsoft.com/commandline/2018/01/12/chmod-chown-wsl-improvements/

সম্পাদনা

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

সুতরাং এখন যে সমাধানটি আমার জন্য কাজ /etc/wsl.confকরে তা হ'ল আমার ডাব্লুএসএল উবুন্টুতে কনফিগার করা ফাইল সম্পাদনা করা এবং নীচে প্রবেশ করা, তারপরে আবার মাউন্টগুলি করতে পুনরায় চালু করুন:

# Enable extra metadata options by default, set uid and gid to 0
[automount]
options = "metadata,uid=,gid="

আমি কেন মেটাটাটা যুক্ত করব:

লিনাক্সের অনুমতিগুলি ফাইলটিতে অতিরিক্ত মেটাডেটা হিসাবে যুক্ত করা হয়। এর অর্থ কোনও ফাইলের মধ্যে লিনাক্স এবং উইন্ডোজ পড়ার / লেখার / চালানোর অনুমতি বিট থাকতে পারে।

কেন uid এবং জিড সেট করুন:

ডিফল্টরূপে, ডাব্লুএসএল ইউআইডি এবং জিড সেট করে ডিফল্ট ব্যবহারকারীর মানকে (উবুন্টু ডিস্ট্রোতে, ডিফল্ট ব্যবহারকারী uid = 1000, জিড = 1000 দিয়ে তৈরি করা হয়)। যদি ব্যবহারকারী এই কীটির মাধ্যমে স্পষ্টভাবে কোনও গিড বা ইউআইডি বিকল্প নির্দিষ্ট করে, তবে সংশ্লিষ্ট মানটি ওভাররাইট করা হবে। অন্যথায়, ডিফল্ট মান সর্বদা সংযুক্ত করা হবে।

প্রাসঙ্গিক লিঙ্ক:

https://docs.microsoft.com/en-us/windows/wsl/wsl-config https://blogs.msdn.microsoft.com/commandline/2018/02/07/automatically-configuring-wsl/ HTTPS: / /blogs.msdn.microsoft.com/commandline/2018/01/12/chmod-chown-wsl-improvements/

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