1) আপনার এসএসএইচ আরসি স্ক্রিপ্টে (~ / .ssh / আরসি) আপনি একটি প্রচলিত অবস্থান থেকে "বর্তমান" এসএসএইচ_আউথ_সককে একটি প্রতীকী লিঙ্ক স্থাপন করবেন। এখানে আমি এটি কীভাবে করব (~ / .ssh / rc এর বিষয়বস্তু):
#!/bin/bash
if test "$SSH_AUTH_SOCK" ; then
ln -sf $SSH_AUTH_SOCK ~/.ssh/ssh_auth_sock
fi
(এবং chmod 755। / .ssh / আরসি নিশ্চিত করুন)। "পরীক্ষা" কেবলমাত্র যদি আপনি ssh-এজেন্ট চালাচ্ছেন না (যেমন আপনি -A ছাড়াই ssh করছেন) প্রদর্শন করা থেকে একটি ত্রুটি রোধ করার জন্য। এই কমান্ডের দ্বিতীয়ার্ধটি একটি আধ্যাত্মিক স্থানে একটি সিমিলিংক সেট আপ করে যা লগইন সময় নিজেকে "সত্য" "এসএসএইচ_এইউথ_সক" এ আপডেট করে। এটি ssh এ শেল ব্যবহার করা বা কমান্ড সরাসরি কল করা স্বাধীন, "ssh -t স্ক্রিন -RRD" এর সাথেও কাজ করে।
দ্রষ্টব্য: ~ / .ssh / rc এর অস্তিত্ব sshd এর আচরণকে পরিবর্তন করে। উল্লেখযোগ্যভাবে, এটি xauth কল করবে না। আরও তথ্যের জন্য man sshd দেখুন এবং এটি কীভাবে ঠিক করবেন।
এছাড়াও, আপনার নিম্নোক্ত ডায়াগনস্টিক্সের সাথে আরএসসিএন-ওভার-এসএসএস ভেঙে যাওয়ার সাথে সাথে ln দিয়ে "-v" ব্যবহার করা উচিত নয়:
$ rsync -n addr.maps.dev.yandex.net: .
protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(173) [Receiver=3.0.7]
2) আপনার .স্ক্রিনআরসি-তে আপনাকে কেবলমাত্র এসএসএইচ_এইউথ_সোককে ক্যানোনিকাল অবস্থানে ওভাররাইড করতে হবে:
setenv SSH_AUTH_SOCK $HOME/.ssh/ssh_auth_sock
মনে রাখবেন যে আপনি কোনও শেল ব্যবহার না করেই আপনি setenv ব্যবহার করেন; আমার মনে হয় সেটেনভ হ'ল স্ক্রিন সিনট্যাক্স, শেল নয়।
সমাধানটি মূলত এই পোস্ট থেকে অভিযোজিত , যা কাজ করে না, তবে সঠিক ধারণা রয়েছে।