একটি লিনাক্স সার্ভারে রিমোট লগইনে বাইপাস ~ /। প্রোফাইল


32

~/.profileSsh বা পুট্টি ব্যবহার করে রিমোট লিনাক্স সার্ভারে লগ ইন করার সময় বাইপাস করার বা কার্যকর করার কোনও উপায় আছে কি ?


তুমি কেন এটা করতে চাও? শুধু ফাইলের মানগুলি সম্পাদনা করবেন না কেন? (এটি সর্বোপরি আপনার প্রোফাইল))
টেলিমাচাস

7
উদাহরণস্বরূপ এটি উপকারী যদি কেউ প্রফাইলে ফাইলটি স্ক্রু করেন এবং আপনার সিস্টেমে সরাসরি অ্যাক্সেস না থাকে :)
monkey_p

ঠিক এ অবস্থাটি আমি নিজেকে বানর_পি
অ্যান্ড্রু হ্যাম্পটন

উত্তর:


30

ব্যাশের জন্য:

$ ssh hostname "bash --noprofile"

6
-tআমার মনে হয় আপনার বিকল্পও দরকার হবে ।
মাধ্যাকর্ষণ

2
ssh -t এর হোস্টনাম "bash --noprofile" .যদি সেখানে না থাকি আমি ত্রুটি পাচ্ছিলাম "স্ট্যান্ডার্ড ইন টিটিটি অবশ্যই হবে"।
নাইটিনস

14

আপনি সব লগইন স্ক্রিপ্ট অক্ষম করতে খুঁজছি হয়, আপনি ব্যবহার করতে পারেন --noprofileনিষ্ক্রিয় করতে পতাকা /etc/profile, ~/.profileইত্যাদি এবং --norcনিষ্ক্রিয় করতে ~/.bashrcযেমন:

$ ssh 127.0.0.1 "bash --noprofile --norc"

মনে রাখবেন যে কোনও একটি উপলব্ধ থাকলে বিকল্প শেলও চালু করতে পারেন। এগুলিতে গণ্ডগোলের পরে আমাকে এটি ব্যবহার করতে হয়েছিল chsh:

$ ssh 127.0.0.1 sh

এটি সম্ভবত আপনাকে একটি ফাঁকা শেল ছাড়বে (কোনও প্রম্পট নেই) সুতরাং lsএটি কাজ করছে কিনা তা নিশ্চিত করার জন্য এটি দিন।


4

যদি আপনার টার্গেট মেশিনটি ব্যাশ শেলের মধ্যে থাকে:

user@host:/$ ssh hostname "bash --noprofile"

বিকল্পভাবে, যদি আপনি ব্যবহার করতে চান অন্য কোনও প্রোফাইল থাকে

user@host:/$ ssh hostname "bash --noprofile; source ~/.other_profile"

1

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


বা সম্ভবত এটির নাম পরিবর্তন করুন।
jezmck

1

অন্যরা যেমন উল্লেখ করেছে, আপনি সংযোগের সূচনা করার সময় পতাকাটির সাথে চালানো --noprofileকাজ করবে, যদিও আপনি যদি অন্য শেল ব্যবহার করেন তবে এটি বিকল্প হতে পারে বা নাও হতে পারে।

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

if [ "$SSH_CONNECTION" != "" ]; then
  echo Logging in with ssh
  return
else
  echo Logging in with something that is not ssh
fi

# rest of your profile goes here

returnস্ক্রিপ্ট যদি বাকি এড়িয়ে যাবে $SSH_CONNECTIONএনভায়রনমেন্ট ভেরিয়েবল সেট করা হয়, যা সাধারণত যখনই কোনো SSH সংযোগ সূচনা হয় তৈরি করা হবে। অন্যথায় প্রোফাইলটি সাধারণের মতো চালানো হবে।

মনে রাখবেন এটি কেবল প্রভাবিত প্রোফাইল স্ক্রিপ্ট এড়িয়ে যাবে। অন্য সমস্ত প্রোফাইল স্ক্রিপ্টগুলি (যেমন /etc/profile:) আপনি এখনও একইভাবে সংশোধন না করা হলে প্রক্রিয়া করা হবে।

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