আমার সমস্যাটি হ'ল, আমাকে একটি সার্ভারে env ভেরিয়েবলগুলি (GIT_EXEC_PATH এর মতো) সেট করতে হবে। আমার প্রতিটি সংযোগের মাধ্যমে সেই ভেরিয়েবলগুলি দরকার (সুতরাং বাশ এবং দূরবর্তী কমান্ড দ্বারা)। আমি .bash_profile দিয়ে ব্যাশ করে সেগুলি পরিবর্তন করতে সক্ষম হয়েছি, তবে দূরবর্তী কমান্ডগুলির সাথে আমার সমস্যা আছে। আমি দেখতে পেয়েছি যে আসল আরএসএ কী এর আগে ~ / .ssh / अधिकृत_keys এ কমান্ড লেখা সম্ভব, তবে আমি সেখানে সর্বদা লিখতে চাই না, আমার একটি স্থায়ী সমাধান দরকার ... আমি দেখতে পেয়েছি যে ~ / .ssh / আরসি ফাইলটি প্রতিটি এসএসএল লগইন দ্বারা সম্পাদিত হয়, তাই আমি আমার enর্ষা পরিবর্তনশীল ঘোষণা এখানে রেখেছি, তবে এটি কার্যকর হয়নি। ভেরিয়েবলগুলি আরসি ফাইলে সেট করা থাকে তবে এর পরে সেগুলি অদৃশ্য হয়ে যায়। : এস হতে পারে আরসি ফাইলটি একটি সাব-শেলের মধ্যে চলে: এস কোডগুলি নকল ছাড়াই ব্যাশ এবং দূরবর্তী কমান্ডগুলিতে সেই পরিবর্তনগুলি সংজ্ঞায়িত করার কোনও উপায় আছে?
সম্পাদনা:
আমি প্রশ্নটি সম্পাদনা করেছি, কারণ সার্ভারটি একটি গডাডি শেয়ার্ড হোস্ট, তাই এটির একটি অনন্য কনফিগারেশন রয়েছে। / Etc / ssh / sshd_config এবং / etc / ssh / ssh_config ফাইলগুলি খালি রয়েছে। এই ফাইলগুলিতে মন্তব্য রয়েছে, আপনি যদি আগ্রহী হন তবে আমি এটি এখানে অনুলিপি করতে পারি।
- ~ / .Bash_ প্রোফাইলে উত্সাহিত করা হয় (কেবল বাশ সংযোগ দ্বারা),
- ~ / .bashrc কখনই উত্স হয় না,
- ~ /। প্রোফাইলে কখনই উত্স হয় না,
- ~ / .ssh / পরিবেশ কখনই উত্সাহিত হয় না,
- ~ / .ssh / rc কে স্যুরস করা হয় (ব্যাশ এবং রিমোট উভয় দ্বারা) তবে আমার মনে হয় এটিকে সাবচেলে বলা হয়েছে কারণ ভেরিয়েবলগুলি অদৃশ্য হয়ে যায়।
- Time / .ssh / अधिकृत_keys প্রতিবারই উত্সাহিত হয়, তবে আমাকে প্রতিটি আরএসএ কী এর আগে কমান্ড লিখতে হবে (যাতে আমি এটির সাথে কনফিগার করতে চাই না)।
সারসংক্ষেপ:
আমি ব্যাশটি ভালভাবে (.bash_profile সহ) কনফিগার করতে পারি, তবে আমি দূরবর্তী কলগুলি কনফিগার করতে পারি না। এটাই সমস্যা। আমি এমন একটি ফাইল সন্ধান করছি যা বাশ এবং দূরবর্তী কমান্ড উভয়ই সঞ্চিত।
উদাহরণ স্বরূপ:
গিট-আপলোড-প্যাক কমান্ডটি এক্সি ফাইলটি সন্ধান করে, কারণ GIT_EXEC_PATH এনভ ভেরিয়েবল সেট করা আছে তবে রিমোট সহ: "গিট ক্লোন ইউজার @ডোমেন ডট কম: মাইরেপো লোকাল / মাইরেপো" সার্ভারটি সেই কমান্ডটি খুঁজে পাচ্ছে না, কারণ জিআইআইএফএসইসিপিএপিএটিএইচ সেট করা নেই।
Edit2:
মতে এই , এবং আমার printenv লগ: ~ / .ssh / RC, স্বাভাবিক শেল চলছে, subshell নেই তাই এটি একটি হেঁয়ালি কেন env ভেরিয়েবল স্টিকিং না ...
আমি একটি নির্বাহযোগ্য তৈরি করেছি: ~ / লোজেনভ :
echo "" >> mylog.txt
date >> mylog.txt
printenv >> mylog.txt
echo "" >> mylog.txt
এবং এটি ~ / .ssh / rc তে রাখুন :
export AAA=teszt
source ~/logenv
বাশ লগইন এবং "উত্স লোজনভ" দ্বারা ফলাফলটি ছিল:
Tue May 15 04:21:37 MST 2012
TERM=cygwin
SHELL=/bin/bash
SSH_CLIENT=censored
SSH_TTY=/dev/pts/2
USER=myuser
AAA=teszt
MAIL=/var/mail/myuser
PATH=/usr/local/bin:/bin:/usr/bin
PWD=/home/content/65/7962465
SHLVL=3
HOME=/var/chroot/home/content/65/7962465
LOGNAME=myuser
SSH_CONNECTION=censored
_=/usr/bin/printenv
Tue May 15 04:21:41 MST 2012
HOSTNAME=censored
TERM=cygwin
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=censored
দূরবর্তী দ্বারা "ssh myuser@domain.com 'exec ~ / logenv'" ফলাফলটি ছিল:
Tue May 15 04:25:52 MST 2012
SHELL=/bin/bash
SSH_CLIENT=censored
USER=myuser
AAA=teszt
MAIL=/var/mail/myuser
PATH=/usr/local/bin:/bin:/usr/bin
PWD=/home/content/65/7962465
SHLVL=3
HOME=/var/chroot/home/content/65/7962465
LOGNAME=myuser
SSH_CONNECTION=censored
_=/usr/bin/printenv
Tue May 15 04:25:52 MST 2012
SHELL=/bin/bash
SSH_CLIENT=censored
USER=myuser
PATH=/usr/local/bin:/bin:/usr/bin
MAIL=/var/mail/myuser
PWD=/home/content/65/7962465
HOME=/var/chroot/home/content/65/7962465
সুতরাং আরসি ফাইলটি সোর্স করা হয় তবে তার পরে ভেরিয়েবলগুলি অদৃশ্য হয়ে যায় ...: এস