sshfs সবসময় fstab এ পাসওয়ার্ড চাইছেন?


20

আমি নিম্নলিখিত লাইনের সাথে / etc / fstab এ একটি sshfs মাউন্ট প্রবেশ করার চেষ্টা করছি:

sshfs#oli@192.168.0.2:/media/usb0 /media/ExtHD fuse     defaults,nonempty,allow_other 0 0

যাতে এই ভলিউম বুটে উঠেছে। বুটআপ করার পরে, কিছুই ঘটে না, তবে যখন আমি কমান্ডটি sudo মাউন্ট -a ব্যবহার করি তখন আমাকে সর্বদা পাসওয়ার্ডের জন্য অনুরোধ করা হয়। আমি এসএসএইচ কীগুলি সেট আপ করেছি এবং সেগুলি 192.168.0.2 এ কম্পিউটারে স্থানান্তর করেছি এবং কোনও পাসওয়ার্ড ছাড়াই নিয়মিত এসএসএসে লগ ইন করতে পারি। আমি কীভাবে আমার পাসওয়ার্ড জিজ্ঞাসা করতে ফিউজকে থামাতে পারি যাতে বুট করার সময় ভলিউমটি স্বয়ংক্রিয়ভাবে মাউন্ট করা যায়?

যদি এটি কিছুটা সহায়তা করে তবে আমি আর্কিট লিনাক্সের সাথে চালিত ল্যাপটপ থেকে ডেবিয়ান চালিত একটি হোম সার্ভারের সাথে সংযোগ দেওয়ার চেষ্টা করছি। ধন্যবাদ

উত্তর:


13

কী-ভিত্তিক প্রমাণীকরণ কেবল তখনই কাজ করতে পারে যদি sshপ্রক্রিয়াটি আপনার কী খুঁজে পায়। সম্ভবত আপনার নিজের ডিরেক্টরিতে আপনার কী রয়েছে; তবে আপনি কখনই বলেননি sshfsযে কোন চাবিটি সন্ধান করতে হবে। বুট করার সময়, এটি rootসমস্ত ফাইল সিস্টেমগুলি মাউন্ট করবে , অতএব কীটি অবশ্যই হয় /root/.sshঅথবা এর মধ্যে উল্লেখ করা উচিত /root/.ssh/config

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

ssh-add ~/.ssh/name_of_key.id_rsa
sshfs homeserver:/media/usb0 ~/exthd

homeserverআপনার নামের একটি নাম রাখুন ~/.ssh/config:

Host homeserver
HostName 192.168.0.2
User oli

আহ, এটি করার আরও ভাল উপায়, আমি এটি আমার লগইন স্ক্রিপ্টে রাখার কথা ভাবি নি। ধন্যবাদ!
semiserious

~মাউন্ট পয়েন্ট ব্যবহার করে সাবধান । আপনি যদি টার্মিনালের পরিবর্তে কমান্ডটি চালানোর জন্য প্যানেলে লঞ্চার আইকনটি ব্যবহার করেন তবে কমান্ডটি ~মূল্যায়ন করা হবে না /home/এবং কমান্ডটি ব্যর্থ হবে।
নিক

@ নিক আপনি যদি কোনও জিইআই ব্যবহার করেন তবে এটিতে অটোমোটিংয়ের জন্য উত্সর্গীকৃত একটি সরঞ্জাম থাকতে পারে। আপনি যদি আমার উত্তরটি অনুসরণ করেন তবে আপনি দুটি কমান্ড শেল স্ক্রিপ্টে রাখবেন; লঞ্চার আইকনটি সেই স্ক্রিপ্টটি চালিত করবে।
গিলস 'খারাপ হয়ে যাওয়া বন্ধ করুন'

10

আমি নীচের সিনট্যাক্সটিকে স্ট্যান্ডার্ড ব্যবহারকারী হিসাবে ব্যবহার করে উবুন্টু 14.04 এর সাথে fstab এর মাধ্যমে sshfs মাউন্ট তৈরি করতে সক্ষম হয়েছি (সিএপিএস-এ কোনও কিছু নোট করুন যা আপনি পূরণ করার জন্য একটি পরিবর্তনশীল):

USER@HOST:/REMOTE_DIR /LOCAL_DIR fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID,gid=USER_GID 0 0

এটি এখানে পাওয়া তথ্যের সংমিশ্রণ /superuser/669287/automount-sshfs- using - fstab - without - mount - a এবং এখান থেকে দেরি_ সংযোগটি যুক্ত করে /ubuntu/ 326977 / sshfs-is-not-মাউন্টিং-স্বয়ংক্রিয়-বুট-সত্ত্বেও-ইত্যাদি- fstab- কনফিগারেশন

আমি এই টিউটোরিয়ালটি আমার USER_ID এবং USER_GID: https://kb.iu.edu/data/adwf.html পেতে ব্যবহার করেছি

ইউনিক্সে কোনও ব্যবহারকারীর ইউআইডি বা জিআইডি খুঁজে পেতে আইডি কমান্ডটি ব্যবহার করুন। কোনও নির্দিষ্ট ব্যবহারকারীর ইউআইডি সন্ধান করতে ইউনিক্স প্রম্পটে, প্রবেশ করুন:

id -u username

উপযুক্ত ব্যবহারকারীর ব্যবহারকারীর নাম দিয়ে ইউজারনেম প্রতিস্থাপন করুন। ইউনিক্সের জিআইডি সন্ধান করতে ইউনিক্স প্রম্পটে, প্রবেশ করুন:

id -g username

এছাড়াও, আপনি যদি একটি সম্পূর্ণ টিউটোরিয়াল চান তবে এটি https://www.variux.com/sshfs-automount-at-boot-with-fstab-on-ubuntu-14-04/ এ পোস্ট করা হবে


সেই লিঙ্কটি: varux.com/blog/?p=161 এখন আর কাজ করছে না বলে মনে হচ্ছে ...
খ্রিস্টান ক্যাসুট

@ ক্রিশ্চিয়ানমুগলি আপনার মন্তব্যের জন্য আপনাকে ধন্যবাদ আমি সম্পূর্ণ টিউটোরিয়াল ঠিকানা আপডেট করেছি। আমি টিউটোরিয়ালটি দীর্ঘদিন ধরে পরীক্ষা করিনি। ভেরাক্স.এসএসএফএফসআউটম
उंट-

5

আমারও একই সমস্যা ছিল।

আমি এর আগে ssh কীগুলি সেটআপ করেছিলাম ssh-keygenএবং তারপরেssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.100

ssh আমাকে পাসওয়ার্ড না জিজ্ঞাসা করে খুব ভাল কাজ করেছে তাই আমি কেন বিভ্রান্ত হয়ে পড়েছিলাম কেন sshfs এখনও পাসওয়ার্ড চাইছিল ...

ঐটাই বলতে হবে,

ssh root@192.168.0.100 

ভাল কাজ করেছে, তবে sshfs এখনও টাইপ করার সময় একটি পাসওয়ার্ড চেয়েছিল asked

sudo sshfs root@192.168.0.100:/home/raspberry/Videos /home/pi/LinuxMintMountedFolder/ -o allow_other

উপরে গিলস ব্যাখ্যা করেছেন যে, sshfsপ্রয়োজনীয় কীগুলির জন্য মূল ডিরেক্টরিটি অনুসন্ধান করা হয়েছিল।

অতএব, আমি কেবলমাত্র আমার বাড়ির ফোল্ডারের গোপন .ssh ফোল্ডার থেকে id_rsa এবং id_rsa.pub ফাইলগুলি মূলের .ssh ফোল্ডারে অর্থাৎ অনুলিপি করে সমাধান করেছি ie

cp /home/pi/.ssh/id_rsa /root/.ssh/
cp /home/pi/.ssh/id_rsa.pub /root/.ssh/

তারপরে, পাসওয়ার্ডের জন্য আমাকে বিরক্ত না করে নিম্নলিখিত টাইপ করা কাজ করেছিল:

sudo sshfs root@192.168.0.100:/home/raspberry/Videos /home/pi/LinuxMintMountedFolder/ -o allow_other

এটি সুরক্ষা দৃষ্টিকোণ থেকে সত্যই খারাপ। মূলের জন্য কীগুলির একটি পৃথক সেট তৈরি করা ভাল এবং এটি অনুমোদিত_কিগুলিতে যুক্ত করুন। আপনার চারপাশে কখনও কখনও ব্যক্তিগত কীগুলি অনুলিপি করা উচিত নয়
খ্রিস্টান ওল্ফ

3

আপনি যদি এটি কোনও পাসওয়ার্ড ছাড়াই বুট করতে চান তবে আপনাকে পাসওয়ার্ড ছাড়াই একটি সরকারী / বেসরকারী ssh কী তৈরি করতে হবে। এটি প্রস্তাবিত নয়, তবে আপনি অন্তত chmod 400রুট ব্যবহারকারী হিসাবে এই ফাইলগুলিকে সুরক্ষা দিতে পারেন ।

এর পরে, যথারীতি, আপনাকে মাউন্ট পয়েন্টে সর্বজনীন কীটি অনুলিপি করতে হবে:

ssh-copy-id -i my_new_key.pub oli@192.168.0.2

এবং এই কীটি ব্যবহার করার জন্য আপনাকে sshfs বলতে হবে।

oli@192.168.0.2:/media/usb0 /media/ExtHD fuse     defaults,nonempty,allow_other,'IdentityFile /path/to/private/key' 0 0

2
SSHFS version 2.8 fuse: unknown option 'SSHOPT=IdentityFile /home/ravi/.ssh/id_boxy_rsa'
টম হেল

1
@ টমহেল এর পরিবর্তে ,SSHOPT='IdentityFile /path/to/private/key'সহজ কথা,IdentityFile /path/to/private/key
পুলকিৎসিংহাল

2

নিম্নলিখিত লাইনটি যুক্ত করে দেবিয়ান 8.2 এ আমার জন্য পুরোপুরি কাজ করে fstab:

user@hostname:/path/to/localmountpoint /path/to/remotemountpoint fuse.sshfs _netdev,user,port=(if_not_22),idmap=user,transform_symlinks,identityfile=/home/user/.ssh/id_rsa,allow_other,default_permissions,uid=user_id,gid=group_id 0 0

হোস্টনাম দূরবর্তী সার্ভারকে নির্দেশ করে (ফোল্ডার থেকে মাউন্ট করতে) ব্যবহারকারী একইভাবে স্থানীয় এবং দূরবর্তী অবস্থানের। (সহজ)

নিশ্চিত হয়ে নিন যে আপনি স্থানীয়ভাবে ব্যবহারকারীর জন্য ssh কী তৈরি করেছেন ssh-keygenএবং ssh-copy-idকীটি দূরবর্তী সার্ভারে (হোস্টনাম) অনুলিপি করতে ব্যবহার করেছেন ।

আপনি জানতে পারেন user_idএবং group_idস্থানীয় সার্ভার ব্যবহারকারীর জন্য /etc/passwd

এছাড়াও নিশ্চিত হয়ে নিন যে ব্যবহারকারীর ফোল্ডারে অনুমতি / পঠনের অনুমতি রয়েছে path/to/localmountpoint


2

আপনি পাসওয়ার্ড_স্টদিন বিকল্পটি ব্যবহার করে শুরুতে পাবলিক কী ব্যতীত এসএসএইচএফএসটি মাউন্ট করতে পারেন, তবে fstab দিয়ে নয়।

আপনার যা দরকার তা হল একটি ছোট স্ক্রিপ্ট ফাইল এবং ক্রোন।

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

স্ক্রিপ্ট ফাইলটি (/root/automount.sh) এর মতো দেখতে পারে:

#!/bin/sh
if [ $(mount | grep 'user@server:/folder' | wc -l) -ne 1 ]
then
    echo 'PASSWORD' | sshfs user@server:/folder /mnt/mountpoint -o password_stdin,allow_other
    echo 'SSHFS has been mounted.'
else
    echo 'SSHFS is already mounted.'
fi

এটি সূচনাতে চালানোর জন্য আপনি রুট হিসাবে ক্রন্টব ব্যবহার করতে পারেন এবং এই লাইনটি প্রবেশ করতে পারেন:

@reboot /root/automount.sh

উপরে বর্ণিত হিসাবে, আপনার অবশ্যই নিশ্চিত করা উচিত যে একেবারে কেউ ফাইলটি পড়তে না পারে কারণ এতে সরল পাঠ্য পাসওয়ার্ড রয়েছে!

-rwx------ 1 root root 526 Nov 21 12:57 automount.sh

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


0

একই সমস্যা ছিল। শেষ পর্যন্ত এটি সরল ফিউজে টাইপ সেট করতে সহায়তা করেছে, বা (যা সম্ভবত সম্ভবত) ট্রানকাটিং বিকল্পগুলিতে:

fuse reconnect,idmap=user,allow_other,default_permissions

যা শেষ পর্যন্ত আমার জন্য কাজ করেছে


0

আপনি এমন একটি সার্ভার যা চাবি সমর্থন করে না সংযোগের চেষ্টা করছি এবং আপনি এখনও এটা স্বয়ংক্রিয় হতে চান, আপনি ব্যবহার করতে পারেন sshpassএমনকি আপনার জন্য আপনার পাসওয়ার্ড টাইপ করার জন্য sshfsএবং এমনকি মধ্যে fstab

উদাহরণস্বরূপ, যদি আপনি এর সাথে সাদৃশ্যপূর্ণ কিছু রাখেন /etc/fstab:

sshfs#username@host:/  /mnt/here   fuse   auto,ssh_command=sshpass\040-f\040/root/.ssh/host.password\040ssh  0  0

তারপরে উল্লিখিত ফাইলনামে পাসওয়ার্ডটি রাখুন /etc/fstab:

echo 'secret' > /root/.ssh/host.password

আপনি ইনস্টল করেছেন তা নিশ্চিত করুন sshpass:

pacman -S sshpass  # if you're using Arch Linux

তাহলে এটি কাজ করা উচিত:

mount /mnt/here

sshএর কীটি নিশ্চিত করার জন্য আপনাকে প্রথমে সার্ভারের প্রয়োজন হতে পারে , তবে এর পরে এটি কোনও ম্যানুয়াল মিথস্ক্রিয়ায় কাজ করা উচিত নয়, এবং এটিতে autoপতাকাটি fstabবুট করার সময় ম্যানুয়ালি পাসওয়ার্ড দেওয়ার প্রয়োজন নেই mount

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