fstab সহ sshfs: পিয়ার দ্বারা সংযোগ পুনরায় সেট করুন


10

আমি আমার ল্যাপটপ (উবুন্টু 13.04) কে আমার পিসিতে (লুবুন্টু 13.04) এসএসএইচএফএসের মাধ্যমে হার্ড ড্রাইভ অ্যাক্সেস করার অনুমতি দেওয়ার চেষ্টা করছি। সংযোগের জন্য আমি আরএসএ কী ব্যবহার করছি।

আমি টার্মিনালে এটি টাইপ করলে এটি পুরোপুরি সূক্ষ্মভাবে কাজ করে:

sshfs my-PC:/a_folder /media/a_folder

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

sudo adduser mynickname fuse

এবং আমি আমার fstab ফাইলে নিম্নলিখিত লাইনটি যুক্ত করেছি:

sshfs#mynickname@my-PC:/a_folder /media/a_folder fuse defaults,idmap=user,_netdev 0 0

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

mount: only root can mount sshfs#mynickname@my-PC:/a_folder on /media/a_folder

আমি চেষ্টা করলে একই ত্রুটি পাই

mount /media/a_folder

টার্মিনালে

আমি যদি চেষ্টা করি

sudo mount /media/a_folder

আমি পাই

read: Connection reset by peer

আমি fstab এন্ট্রিতে একটি বিকল্প হিসাবে "অনুমতি_ডোর" যুক্ত করার চেষ্টা করেছি, এবং /etc/fuse.conf এ সম্পর্কিত লাইনটি uncommented করেছি, তবে এটি কিছুই পরিবর্তন করেনি।

ব্যবহারকারী "মাইনিকনেম" ফোল্ডার / মিডিয়া / এ_ফোল্ডারের মালিক এবং rwx অনুমতি রয়েছে।

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

sshfs my-PC:/a_folder /media/a_folder

ত্রুটি না পেয়েই, যদিও এটি আমার ল্যাপটপে দুর্দান্ত কাজ করে।

কোন অন্তর্দৃষ্টি এবং টিপস প্রশংসা করা হবে! ধন্যবাদ।

সম্পাদনা: আমি কিছুক্ষণ আগে এই সমস্যাটি সমাধান করেছি, তবে আমি এই পোস্টটি আপডেট করতে ভুলে গিয়েছি। সুতরাং আমার fstab এ যা আছে তা এখানে:

sshfs#mynickname@my-PC:/a_folder /media/a_folder fuse noauto,_netdev,idmap=user,user,default_permissions 0 0

যুক্ত করার মূল বিকল্পটি ছিল ডিফল্ট_প্রেমিশনগুলি যদি আমি মনে করি। আমার / পিসিতে / a_folder / গ্রুপের সাথে আমার গ্রুপটি যুক্ত করতে হয়েছিল।

fstab  sshfs 

উত্তর:


8

আপনি যে সমস্যাটি ভোগ করছেন তা হ'ল আপনার সাধারণ ব্যবহারকারীর আপনার পরিচয় ফাইলের জন্য একটি সঠিক সেটআপ রয়েছে, যখন কোনও ব্যবহারকারী কী কী ssh ব্যবহার করবেন তা রুট ব্যবহারকারীদের নেই।

আপনি সংযুক্তির চেষ্টা করার সময় কোন পরিচয় ফাইল / ssh কী ব্যবহার করবেন তা fstab কে জানিয়ে এটি সমাধান করতে পারেন:

sshfs#user@host:/mnt/whatever/ /mnt/whatever/        fuse    user,_netdev,reconnect,uid=1000,gid=1000,IdentityFile=/home/USER/.ssh/KEYFILE,idmap=user,allow_other  0   2

আপনার উত্তরের জন্য ধন্যবাদ. আমি ইতিমধ্যে আইডেন্টিটি ফাইল বিকল্পটি দিয়ে চেষ্টা করেছি, তবে আমি ইউআইডি এবং গিড বিকল্পগুলি নির্দিষ্ট করেছিলাম না, তাই আমি চেষ্টা করব!

প্রযুক্তিগতভাবে, sudoFUSE মাউন্টের জন্য সবকিছু সঠিকভাবে সেট আপ করা থাকলে আপনার ব্যবহার করার দরকার নেই । এছাড়াও, uid / gid সেটিংসটি কেবল আপনার সিস্টেমে থাকা ফাইলগুলিতে কোন ব্যবহারকারীর অধিকার রয়েছে তা প্রভাবিত করবে।
আর্থলেলন

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

আপনি কীভাবে এটি লিখেছেন তার একটি নমুনা পোস্ট করতে আপত্তি করবেন? আপনি আপনার ব্যক্তিগত কী নির্দেশ করা উচিত, এবং না আপনার সর্বজনীন কী।
আর্থলেলন

1
সুতরাং দুটি পদ্ধতিই কাজ করে না। এখনও একই ত্রুটি। কনফিগার ফাইলের জন্য, আমি সঠিক হোস্ট: ব্যবহারকারী, হোস্টনাম (আইপি এবং নাম উভয় চেষ্টা করেছি), পরিচয় ফাইলের জন্য উল্লেখ করে চেষ্টা করেছি। তবে এটি তেমন কার্যকর হয়নি। সুতরাং আমি আপাতত যেটি শেষ করছি তা হ'ল আমি স্টার্টআপ অ্যাপ্লিকেশনগুলিতে sshfs my-PC: / a_folder / মিডিয়া / a_folder কমান্ডটি যুক্ত করেছি। এটি fstab ব্যবহার করার মতো পরিষ্কার নয়, তবে এটি আপাতত ভালভাবে কাজ করে। আপনার সাহায্য এবং আপনার পরামর্শের জন্য ধন্যবাদ! আপনি যদি অন্য কিছু মনে করেন, নির্দ্বিধায় শেয়ার করুন, আমি এটির প্রশংসা করব!

4

আসল ডিবাগ আউটপুট পেতে আপনাকে মাউন্টটিতে উভয় sshfs_debugএবং debugঅপশন যোগ করতে হবে :

sshfs#mynickname@my-PC:/a_folder /media/a_folder fuse defaults,idmap=user,_netdev,debug,sshfs_debug 0 0

এটির সাহায্যে আপনাকে প্রচুর ডিবাগ তথ্য পাবেন:

$ sudo mount -a
SSHFS version 2.5
FUSE library version: 2.9.2
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
executing <ssh> <-x> <-a> <-oClearAllForwardings=yes> <-2> <user@box> <-s> <sftp>
user@box's password: 
Server version: 3
Extension: posix-rename@openssh.com <1>
Extension: statvfs@openssh.com <2>
Extension: fstatvfs@openssh.com <2>
Extension: hardlink@openssh.com <1>
Extension: fsync@openssh.com <1>
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.22
flags=0x0000f7fb
max_readahead=0x00020000
remote_uid = 1001
   INIT: 7.19
   flags=0x00000011
   max_readahead=0x00020000
   max_write=0x00020000
   max_background=0
   congestion_threshold=0
   unique: 1, success, outsize: 40
unique: 2, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 2771
unique: 3, opcode: LOOKUP (1), nodeid: 1, insize: 47, pid: 3371

আমার ক্ষেত্রে আমি আবিষ্কার করেছি যে আমার মেশিনটি কেবলমাত্র তালিকাভুক্ত ছিল .ssh/config, সুতরাং এটি রুটের জন্য অপ্রতিরোধ্য।

এবং বিটিডাব্লু, আপনাকে ইউআইডি এবং জিড সেট করা দরকার, যেহেতু idmap=userকেবলমাত্র বর্তমান ব্যবহারকারীর পক্ষে কাজ করা মনে হয়, যা এই ক্ষেত্রে মূল।


3

Ssh এর হোস্ট কী পরিবর্তিত হলে এই সমস্যাও দেখা দিতে পারে।

Ssh (যেমন ssh username@hostIP) এর মাধ্যমে সার্ভারের সাথে সংযোগ স্থাপনের চেষ্টা করুন । যদি নিম্নলিখিত ত্রুটিটি উপস্থিত হয়:

 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!    @
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

পুরানো কী মুছতে ত্রুটি বার্তায় থাকা নির্দেশাবলী অনুসরণ করুন এবং ssh এর মাধ্যমে আবার সংযোগ করার চেষ্টা করুন। ত্রুটি যদি আর দেখা না যায় তবে sshfs সংযোগটি কাজ করা উচিত।


"ssh এর মাধ্যমে সার্ভারের সাথে সংযোগ স্থাপনের চেষ্টা করুন" আপনি যদি ডিরেক্টরিটিকে রুট হিসাবে মাউন্ট করেন তবে এটি অবশ্যই রুট হিসাবে নিশ্চিত করুন (যা স্বতঃসীমা নির্ধারণের সময় ঘটে)। ব্যবহারকারীর known_hostsফাইল রুটের known_hostsফাইল থেকে আলাদা হতে পারে ।
শেলভাকু

0

সম্পূর্ণ প্রকাশ: পুরাতন-স্কুল গীক, তবে ব্র্যান্ডটি লিনাক্স / ওপেন সোর্স ওয়ার্ল্ডে নতুন

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

প্রাসঙ্গিক সেট আপের তথ্য: ভিএমওয়্যার ফিউশন সহ একটি ম্যাকবুক প্রো ব্যবহার করে ইনস্টল করা হয়েছে, যার উপরে আমার উবুন্টু সার্ভার রয়েছে 10.04 এলটিএস। আমার প্রায় সমস্ত সার্ভার ইন্টারঅ্যাকশনের জন্য ম্যাকের টার্মিনাল এবং এসএসএইচের উপর নির্ভরশীল

একটি ড্রুপাল ইনস্টল বচিংয়ের পরে, আমি পূর্বের একটি স্ন্যাপশটে ফিরে এলাম এবং হঠাৎ কোনও মুহুর্ত আগে আমি ব্যবহার করেছি এমন আদেশটি কার্যকর করতে অক্ষম ছিলাম: sshfs -o idmap=user -o allow_other user@mac.home:/Users/<username>/Documents ~/mountpoint

সমস্যাটি হ'ল কীগুলি সিঙ্কের বাইরে চলে গেল। আমার হোস্ট এবং সার্ভার উভয় ক্ষেত্রেই এটি করার দরকার ছিল কিনা আমি জানি না, তবে আমি প্রথমে পরিচিত_হোস্ট ফাইলটির ব্যাক-আপ করে, তারপরে প্রবেশ_দর্শনগুলি সরানোর জন্য পরিচিত_হোস্ট ফাইল সম্পাদনা করে প্রত্যেকের স্থানীয় কীগুলি সাফ করে দিয়েছি ।
ম্যাক-এ, এই ফাইলটি এখানে ছিল: /Users/<username>/.ssh/known_hosts
উবুন্টুতে, এই ফাইলটি এখানে অবস্থিত:/home/<username>/.ssh/known_hosts

সুতরাং, সংক্ষেপে বলা যায়, উবুন্টু সার্ভার শুরু করার পরে, সমস্তই আমার ম্যাক টার্মিনাল থেকে সম্পাদিত হয়েছিল:

cp /Users/<username>/.ssh/known_hosts /Users/<username>/.ssh/known_hosts.old
nano  /Users/<username>/.ssh/known_hosts
  # remove extra entries, save file
ssh <username>@ubuntu_server
cp /home/<username>/.ssh/known_hosts, /home/<username>/.ssh/known_hosts.old
nano /home/<username>/.ssh/known_hosts
  # remove extra entries, save file

প্রতিটি সিস্টেমে প্রথম এসএসএইচ করার পরে, এসএসএইচ আমাকে আরএসএ কীগুলি যুক্ত করার অনুমতি দেয় এবং তারপরে সমস্ত কাজ করে works

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