openSSH হোম env পরিবর্তনশীল উপেক্ষা করা হয়


3

আমি সাজানোর চেষ্টা করা হয়েছে Could not create directory Cygwin মাধ্যমে ইনস্টল openSSH সঙ্গে সমস্যা, এবং প্রতি চেষ্টা করেছেন সমাধান আমি ইন্টারনেটে খুঁজে পাচ্ছি, কিন্তু তাদের কেউ কাজ করছে না ...

আমি cygwin ইনস্টল করেছি, এটা কাজ বলে মনে হচ্ছে। আমি openSSH ইনস্টল করেছি, যা কাজ করে বলে মনে হচ্ছে (আমি অন্যান্য মেশিনে ssh করতে পারি)।

আমি সাইগুইন বিন ফোল্ডার রেখেছি path, তাই আমি চালাতে পারেন ssh কমান্ড লাইন থেকে, এবং যে খুব কাজ করে। কিন্তু প্রত্যেকবার আমি এটি চালানোর সময় এটি আমাকে ত্রুটি দেয়:

Could not create directory '/home/will/.ssh'
The authenticity of host 'blah (111.222.333.444)' can't be established.
ECDSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
Are you sure you want to continue connecting (yes/no)?

কেন যে ডিরেক্টরি ব্যবহার করার চেষ্টা করছেন? আমি env সেট করেছি। পরিবর্তনশীল HOME থেকে %USERPROFILE%, যখন আমি এটি প্রতিধ্বনি করি তখন এটি সঠিক অবস্থানটি প্রিন্ট করে এবং আমিও এটি তৈরি করেছি .ssh dir এবং সম্পন্ন ssh-keygen সেখানে জিনিস।

আমি কোথাও যে আমি প্রতিস্থাপন প্রয়োজন পড়তে home/will মধ্যে cygwin/etc/passwd, কিন্তু আমি যে ফাইল নেই। এবং আমি ব্যবহার করি mkpasswd -l এটি জেনারেট করার জন্য এটি আমাকে একজন ব্যবহারকারী হিসাবে অন্তর্ভুক্ত করে না, তাই আমি প্রতিস্থাপন করতে পারছি না। আমি সত্যিই stumped করছি।

এই কাজটি করার জন্য আমাকে কি করতে হবে?



@ ক্রিস.সি কোন উত্তর? আমার ব্যবহারকারী দ্বারা নির্মিত ফাইল প্রদর্শিত হবে না mkpasswd, তাই আমি সেখানে প্রদান করা হোম ডিরেক্টরি সম্পাদনা করতে পারেন?
will

উত্তর:


2

যদি আপনি "/ usr / bin / ssh-user-config" এর ভিতরে দেখেন তবে আপনি পরামর্শটি দেখবেন:

    csih_error_multi \
      "There is no home directory set for you in the account database." \
      'Setting $HOME is not sufficient!'

উইন্ডোজ ব্যবহারকারী ডাটাবেসটি স্পর্শ না করে, একটি পৃথক হোম সংজ্ঞায়িত করার দ্রুততম উপায় হল:

 mkpasswd -d -u "Your_Windows_User_Name" > /etc/passwd
or
 mkpasswd -l -u "Your_Windows_User_Name" > /etc/passwd  

সম্ভবত "হবে"। আপনি ব্যবহারকারী স্থানীয় বা একটি ডোমেন এক হিসাবে।

এবং আপনি চান মান সঙ্গে শেষ কিন্তু এক ক্ষেত্র "/ হোম / ইচ্ছা" পরিবর্তন।

উইন্ডোজ এবং সিগুইন ব্যবহারকারীদের উপর অতিরিক্ত পঠন:

https://cygwin.com/cygwin-ug-net/ntsec.html
https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch

1

আপনি / etc / ssh / ssh_config সম্পাদনা করতে এবং নিম্নোক্ত বৈশিষ্ট্যগুলি যোগ করতে পারেন:

IdentityFile /C/Users/username/.ssh/id_rsa
UserKnownHostsFile /C/Users/username/.ssh/known_hosts

এই এখনও ত্রুটি প্রিন্ট Could not create directory '/home/username/.ssh'. কিন্তু যে সব থেকে পৃথক কাজ করে। যেভাবে আমি msys2 ব্যবহার করছি কিন্তু তাত্ত্বিকভাবে এটি আপনার জন্যও কাজ করবে।


0

/ Usr / bin / ssh-user-config -র মধ্যে ইঙ্গিত করার জন্য ম্যাটজারির ধন্যবাদ। সেখানে খুঁজছেন, আমি বুঝতে পারি যে স্ক্রিপ্ট কল মাধ্যমে হোম ডিরেক্টরি পেয়ে হচ্ছে getent passwd। যখন আমি আমার সিস্টেমে এটি চালাচ্ছি, তখন দেখি যে হোম ডিরেক্টরিটি তার / হোমে অনুসন্ধান করছে (যা উইন্ডোজ ফাইল সিস্টেমের মধ্যে সি: \ সিগুইন 64 \ হোম \ মাইউসনেম অনুবাদ করে)

আমার প্রকৃত উইন্ডোজ হোম ডিরেক্টরি (% USERDIR%) হল C: \ ব্যবহারকারীগণ \ myusername, যা সিগুইন / সিগ্রেড / সি / ব্যবহারকারী / মাইউসনাম হিসাবে দেখায়।

আমি আবিষ্কার করেছি যে, একটি / etc / passwd ফাইল তৈরি করার বিকল্প হিসাবে, আমি আমার উইন্ডোজ হোম ডিরেক্টরিটিকে সিগুইন অবস্থানের জন্য সিঙ্কলিঙ্ক করতে পারি:

cd /home
rm -rf myusername
ln -s /cygdrive/c/Users/myusername .

এটি করার পরে, আমার উইন্ডোজ হোম ডিরেক্টরিতে এসএসএইচ ডিরেক্টরিটি পড়ার কোন সমস্যা নেই।

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