আমি যখন সার্ভারে এসএসএইচ করি তখন ডিফল্ট ডিরেক্টরি পরিবর্তন করুন


42

আমি ভাবছিলাম যে আমি আমার উবুন্টু সার্ভারে এসএসএইচ করার পরে যে ডিফল্ট ডিরেক্টরিটি স্থাপন করব তা পরিবর্তন করার কোনও উপায় আছে কিনা?

আমি যখন আমার সার্ভারে লগ ইন করছি তখন 99% সময়টি নির্দিষ্ট ডিরেক্টরিতে ফাইল অ্যাক্সেস করা:

/var/www/websites

এমন কোনও কনফিগার ফাইল আছে যা আমি সম্পাদনা করতে পারি যা লগইন করার সময় নিশ্চিত হয়ে যায় যে আমাকে সরাসরি এই ডিরেক্টরিতে রেখে দেওয়া হয়েছে?

উত্তর:


62

এটি অর্জনের দুটি উপায় রয়েছে:

  • সার্ভারে আপনার হোম ডিরেক্টরিটি / var / www / ওয়েবসাইটগুলিতে পরিবর্তন করুন (এটি আসলে ভাল ধারণা নয়)
  • cd /var/www/websitesআপনার শেষ যোগ করুন .bashrc। আমি এটি আমাদের পপেটমাস্টারগুলিতে ব্যবহার করি কারণ আমি সর্বদা আমার হোমডিরের পরিবর্তে / ইত্যাদি / পুতুল / পরিবেশ / ডিকারসেকায়ার হতে চাই :-)

ধন্যবাদ। আমি bash.bashrc ফাইলটি সম্পাদনা করেছি যা / ইত্যাদি ডিরেক্টরিতে অবস্থিত। ট্রিট করেছেন :)
বব ফ্লেমিং

7
ওহ, আমি এটি করব না, কারণ এটি সমস্ত ব্যবহারকারীকে প্রভাবিত করে। /Home/yourlogin/.Bashrc সম্পাদনা করার চেয়ে আরও ভাল
ডেনিস কার্সেমেকার

6
আপনি আপনার .profileপরিবর্তে .bashrcএটি রাখতে চান , তবে এটি আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে। .profileশুধুমাত্র ইন্টারেক্টিভ লগইনগুলির জন্য মৃত্যুদন্ড কার্যকর করা হয় (উদাঃ শেল) তবে .bashrcনন-ইন্টারেক্টিভ লগইনগুলির জন্যও কার্যকর করা হয় (যেমন scp, rsync, ইত্যাদি)। এছাড়াও,। প্রোফাইলটি শেল দ্বারা ডাকা হওয়ার সম্ভাবনা বেশি যা বাশ নয় (যেমন zsh)।
ফোর্ড

.Bashrc কার্যকর করা হয় যখন আপনি আপনার ব্যাশকে রিফ্রেশ করতে "এক্সিকিউশন ব্যাশ" করেন। বিশেষ ব্যবহারের ক্ষেত্রে বাশার্ক পরিবর্তন করা (এখানে এসএসএস লগইন) দরকারী নয়।
user3123159

14

আপনি যদি এসএসএইচ লগইনের জন্য কীগুলি ব্যবহার করেন তবে আপনি আপনার দূরবর্তী সার্ভারে command=কোনও কী-এর আগে প্রিপেন্ড করে পথ পরিবর্তন করতে পারেন । উদাহরণ:~/.ssh/authorized_keys

command="cd /var/www/websites ; /bin/bash -l" ssh-rsa AAA.....rest of the key

একই ব্যবহারকারীর জন্য একাধিক কী তৈরি করা এবং ব্যবহার করা ভাল। সার্ভারের একটি কীতে কমান্ডটি থাকতে পারে অন্যটি নাও পারে - এইভাবে আপনি লগইন সময় প্রত্যাশিত আচরণ নির্বাচন করেন। আপনি কেবল এটি স্থানীয় দিয়ে গুটিয়ে রাখতে পারেন ~/.ssh/config:

Host websites-my-host
    HostName <realhostname>
    IdentityFile ~/.ssh/<key1>  #on the server key with "command"
    User webmaster

Host my-host
    HostName <realhostname>
    IdentityFile ~/.ssh/<key2>  #on the server key without command
    User webmaster

এটিই ঘটবে:

local$ ssh websites-my-host
webmaster@realhostname:/var/www/websites$ _

বা:

local$ ssh my-host
webmaster@realhostname:~$ _

3
আমি এই প্রশ্নটি গ্রহণযোগ্য প্রশ্নের চেয়ে বেশি পছন্দ করি। এটি একাধিক ব্যবহারকারীকে সার্ভারে একই ব্যবহারকারীর ব্যবহার করতে দেয় এবং আপনি ব্যক্তিগতভাবে লগ ইন করলে যা ঘটে তা কাস্টমাইজ করতে সক্ষম হন uch আরও নমনীয় এবং অন্যটির মতো সঠিক।
পরীক্ষার্থী

1
Here / .ssh /uthor_keys- এ কমান্ড যুক্ত করার ফলে আরএসইসি, এসসিপি এর মতো এসএসএস-এর উপর ভিত্তি করে অন্যান্য সরঞ্জামগুলিকে প্রভাবিত করে আপনার এখানে সত্যিই সতর্ক থাকতে হবে। এই আদেশগুলি কেবল হ্যাং করবে
warunapww

1
আপনি কাজ করার সরঞ্জামগুলি পাওয়ার $SSH_ORIGINAL_COMMANDপরিবর্তে ব্যবহার করতে পারেন /bin/bash -l(আমার ক্ষেত্রে, এইচজি)। বা $SHELLযদি আপনি বাশ করতে হার্ডকোড করতে না চান। কীভাবে সরঞ্জাম এবং মানব লগিন উভয় কাজে পাবেন তা নিশ্চিত নন।
এমপেন

কেবলমাত্র সাবধানতার একটি শব্দ: আপনি যদি পাসওয়ার্ড প্রমাণীকরণ অক্ষম করে থাকেন ( জিজ্ঞাসা করুন )
karan.dodia

6

ডিফল্টরূপে ওপেনশ এসএসডি ক্লায়েন্টের কাছ থেকে এই পরিবেশের ভেরিয়েবলগুলি গ্রহণ করে:

AcceptEnv LANG LC_*

আপনি ক্লায়েন্টের স্থানীয় পরিবেশ থেকে কোনও সার্ভারে এই জাতীয় মান পাঠাতে এটি ব্যবহার করতে পারেন:

LC_CDPATH=/var/www/websites ssh -o SendEnv=LC_CDPATH user@server

আপনি SendEnv নির্দেশিকাটি ~ / .ssh / কনফিগারেশনে স্থাপন করতে পারেন যাতে আপনাকে এটি কমান্ড লাইনে অন্তর্ভুক্ত করতে হবে না।

আপনি যদি আপনার। /। প্রোফাইলে নিম্নলিখিতটি রাখেন (কেবলমাত্র ইন্টারঅ্যাকটিভ লগইনগুলিকে প্রভাবিত করতে। সমস্ত ফাইলে লগইনকে প্রভাবিত করতে, প্রোফাইলে ব্যবহার করুন):

if [ "$LC_CDPATH" -a -d "$LC_CDPATH" ]; then
  cd "$LC_CDPATH";
fi

তারপরে আপনি লগইন করার সময় পরিবেশের পরিবর্তনশীলে নির্দিষ্ট একটিতে ডিরেক্টরিটি স্বয়ংক্রিয়ভাবে পরিবর্তিত হবে, যদি এটি নির্দিষ্ট করা থাকে এবং যদি এটি ডিরেক্টরি হয়।


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