বিদ্যমান স্ক্রিনটিতে পুনরায় সংযোগ করার সময় আপনি কীভাবে স্বয়ংক্রিয়ভাবে বর্তমান এসএস-এজেন্টের সাথে সংযোগ স্থাপন করতে পর্দা পাবেন?


48

Ssh- এজেন্ট চলার সময় আপনি যদি স্ক্রিন সেশন শুরু করেন (ssh -A এজেন্ট ফরওয়ার্ডিং থেকে), ssh- এজেন্ট অ্যাক্সেস করা ভাল কাজ করে। তবে, আপনি যদি এই অধিবেশন থেকে বিচ্ছিন্ন হন, লগ আউট করুন, আবার লগ ইন করুন (এসএসএইচ-এজেন্ট ফরওয়ার্ডিং সহ) এবং আপনার স্ক্রিন সেশনে পুনরায় সংযুক্তি রাখলে ssh-এজেন্ট অ্যাক্সেস কাজ করে না।

এটা কিভাবে ঠিক হবে?

উত্তর:


41

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 ব্যবহার করেন; আমার মনে হয় সেটেনভ হ'ল স্ক্রিন সিনট্যাক্স, শেল নয়।

সমাধানটি মূলত এই পোস্ট থেকে অভিযোজিত , যা কাজ করে না, তবে সঠিক ধারণা রয়েছে।


এটি ধরে নেওয়া হয় যে আপনি প্রথমে লগইন করেন, তারপরে স্ক্রিন শুরু করুন। রাইট?
innaM

1
এটি অন্য কোনও উপায়ে কীভাবে হতে পারে? লগ ইন না করে আপনি কীভাবে পর্দা শুরু করবেন?

1
তুমি ঠিক বলছো. প্রশ্নটি বোকা উপায়ে বানানো হয়েছিল। তবে আপনাকে লগইন করতে হবে, একটি শেল শুরু করতে হবে এবং সেখান থেকে পর্দা শুরু করতে হবে? আমি প্রায়শই "ssh -t some.machine স্ক্রিন -আর" এর মতো কিছু করি।
innaM

1
আহ, ঠিক আছে. ঠিক আছে, আমি এটি চেষ্টা করেছি এবং এটি কাজ করে না (অর্থাত্ ssh- এজেন্ট সংযুক্ত নয়)। আমি অনুমান করি যে এই ফ্যাশনে ব্যবহৃত হওয়ার সময় ssh উপযুক্ত সকেট সেট আপ করে না। হয়তো আরও কিছু যুক্তি-ফুও পরিষ্কার করতে পারে?

এসএসএইচ সকেটগুলি সেট আপ করে, এটি কখনই শেল শুরু করে না। তবে এই টিপটি এতটাই দরকারী যে আমি মনে করি আমি কেবল আমার অভ্যাসটি পরিবর্তন করতে পারি।
innaM

23

আমি মনে করি এটি @ সন্দীপ-ভট্টাচার্যের উত্তরের সরলকরণ হিসাবে কাজ করে। এটি আপনার ~/.bashrcফাইলে রাখুন এবং বর্তমানে চলমান স্ক্রিন সেশনে এক্সপোর্ট কমান্ডটি চালান।

if [ -S "$SSH_AUTH_SOCK" ] && [ ! -h "$SSH_AUTH_SOCK" ]; then
    ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
fi
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock

এটিতে লেখা আছে "যদি $SSH_AUTH_SOCKসকেট হয় ( -S) এবং একটি প্রতীকী লিঙ্ক ( ! -h) নয়, তবে সঠিক পথে একটি নতুন প্রতীকী লিঙ্ক তৈরি করুন all সব ক্ষেত্রেই, SSH_AUTH_SOCKজানা পথটির দিকে নির্দেশ করার জন্য নতুন সংজ্ঞা দিন ।

! -hযদি এই একাধিক বার চালানোর এড়াতে একটি চক্রকার রেফারেন্স তৈরি করা।

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

আমি এটি খুঁজে পেয়েছি ( byobuএটিতেও রয়েছে) কেবলমাত্র বাগটি হ'ল যদি আপনি একটি দ্বিতীয় ssh -Aবা ForwardAgentসংযোগ খোলেন এটি প্রথম সকেটটি ওভাররাইট করে দেবে এবং যদি আপনি প্রথম সংযোগটি প্রথমটির আগে বন্ধ করে দেন তবে আপনি আপনার একমাত্র ভাল সকেটটি হারাবেন।


1
এটি tmuxপাশাপাশি কাজ করে।
দাগ হিডাহল

দুর্দান্ত কাজ করে তবে দূরবর্তীভাবে মাউন্ট করা হোম ফোল্ডারগুলি ব্যবহার করার সময় বিরতি ঘটে। ~/.ssh/ssh_auth_sock_"$(hostname)"সেক্ষেত্রে আপনার সিমিলিংকের জন্য ব্যবহার করুন। এটি প্রতিটি হোস্টের জন্য পৃথক লেখার সকেট রাখবে।
কিবার

4

"ssh -t some.machine স্ক্রিন -আর" বাশ চলবে না এবং তাই sylink তৈরি হওয়া .bash_profile স্ক্রিপ্টটি চালাবে না।

আপনি চেষ্টা করতে পারেন: ssh -t some.machine bash -c "স্ক্রিন -আর"

(ধরে নিচ্ছেন আপনি অবশ্যই আপনার শেল হিসাবে বাশ ব্যবহার করছেন)

সম্পাদনা করুন: "উত্তর" আসলে উপরে বর্ণিত প্রথম উত্তরের একটি মন্তব্য :)


"উপরোক্ত প্রথম উত্তর" এর অর্থ হ'ল উত্তরগুলি পরিবর্তিত হওয়ার সাথে সাথে ভোট দেওয়ার সাথে সাথে তাদের পরিবর্তন হয় না Please অনুগ্রহ করে আপনার উল্লেখ করা উত্তর থেকে ভাগের লিঙ্কটি অন্তর্ভুক্ত করুন, কারণ এটি পরিবর্তন হবে না।
rjmunro

3

আমার মনে হয় আপনার অটোশ দরকার। আমি এটি এখন বছরের পর বছর ধরে ব্যবহার করছি, এবং স্ক্রিনের সাথে মিলিত হয়ে এটি আমার সমস্ত টার্মিনাল সেশনগুলি সম্পূর্ণ পোর্টেবল এবং স্বচ্ছ করে তোলে। আমি কেবল ল্যাপিকে বন্ধ করি, নতুন অবস্থানে চলে যাই, ল্যাপি খুলি এবং আমার সমস্ত পর্দা এবং নেস্টেড স্ক্রিনগুলি স্বয়ংক্রিয়ভাবে সংযুক্ত হয়। আমি এ নিয়ে আর ভাবি না।

http://www.linux.com/archive/feature/134133

মূল কথাটি ... আমি প্রদত্ত হোস্টের জন্য আমার .স্ক্রিনেআরসি-তে প্রক্রিয়াটি স্বয়ংক্রিয় করতে লিল স্ক্রিপ্টটি ঘষি। (এছাড়াও আমার এসএস ফরওয়ার্ডিং করে, তাই এই সমস্ত বিভিন্ন জায়গায় আমি আমার সার্ভারের মাধ্যমে আমার সংযোগটি সুড়ঙ্গ করতে পারি)

অটোশ ডিস্ট্রোতে আরএস স্ক্রিন নামে একটি প্রোগ্রাম থাকা উচিত (এবং .. আছে!)

#!/bin/sh                                                                       
#
# sample script to use autossh to open up a remote screen
# session, or reconnect to an existing one. 
#
# $Id: rscreen,v 1.4 2002/05/07 17:54:13 harding Exp $
#
if [ "X$1" = "X" ]; then
    echo "usage: `basename $0` <host>"
    exit 1
fi

if [ "X$SSH_AUTH_SOCK" = "X" ]; then
    eval `ssh-agent -s`
    ssh-add $HOME/.ssh/id_rsa
fi

#AUTOSSH_POLL=600
#AUTOSSH_PORT=20000
#AUTOSSH_GATETIME=30
#AUTOSSH_LOGFILE=$HOST.log
#AUTOSSH_DEBUG=yes 
#AUTOSSH_PATH=/usr/local/bin/ssh
export AUTOSSH_POLL AUTOSSH_LOGFILE AUTOSSH_DEBUG AUTOSSH_PATH AUTOSSH_GATETIME 

autossh -M 20004 -t $1 "screen -e^Zz -D -R"

এটি ssh / পর্দার সমস্যার সাথে সহায়তা করবে

অবশেষে, আমার এসএস-এজেন্ট চালিয়ে যাওয়ার জন্য, আমি কীচেইন ব্যবহার করি, যেহেতু আমি এক ধরণের শেল হেড ... আমার ধারণা ওএসএক্সের কাছে আপনার এজেন্টকে রাখার জন্য কিছু উপলব্ধ রয়েছে ...


2

আমি যে পদ্ধতিটি ব্যবহার করি তা এখানে:

SOCK=$(sudo cat /proc/$(pgrep -f "screen -(r|DR)")/environ | tr "\0" "\n" | grep SSH_AUTH_SOCK) ; eval $SOCK ; export SSH_AUTH_SOCK
DISP=$(sudo cat /proc/$(pgrep -f "screen -(r|DR)")/environ | tr "\0" "\n" | grep DISPLAY) ; eval $DISP ; export DISP

আমি সাধারণত থিসিস কমান্ডগুলি সহ একটি উপাধি বা একটি শেল ফাংশন সেট আপ করি:

function ssh-screen-auth() {
  SOCK=$(sudo cat /proc/$(pgrep -f "screen -(r|DR)")/environ | tr "\0" "\n" | grep SSH_AUTH_SOCK)
  eval $SOCK
  export SSH_AUTH_SOCK
  DISP=$(sudo cat /proc/$(pgrep -f "screen -(r|DR)")/environ | tr "\0" "\n" | grep DISPLAY)
  eval $DISP
  export DISPLAY
}

আপনার স্ক্রিনটি পুনরায় সংযুক্ত করতে আপনি যে সঠিক আদেশ ব্যবহার করছেন তা আপনাকে নিয়মিত এক্সপ্রেশন ' স্ক্রিন - (আর | ডিআর) ' হিসাবে খাপ খাইয়ে নিতে হতে পারে ।

  • প্রথম লাইনটি " স্ক্রিন -আর " কমান্ডের প্রসেস স্পেসে SSH_AUTH_SOCK এনভায়রনমেন্ট ভেরিয়েবলটি পড়েছে যা আপনি সবেমাত্র টাইপ করেছেন এবং আপনার বর্তমান শেলের মান আপডেট করে।
  • আপনি যদি এক্স 11 সংযোগগুলি ফরোয়ার্ড করতে " ssh -X " ব্যবহার করেন তবে দ্বিতীয় লাইনটি প্রয়োজনীয় : এটি একই পদ্ধতিতে ডিজিট ভেরিয়েবল আপডেট করে ।

আমার পদ্ধতি সহ একটি সতর্কতা: কম্পিউটারে আর একটি " স্ক্রিন " কমান্ড চলমান থাকলে জিনিসগুলি ভুল হতে পারে ।


অপ্রয়োজনীয় ব্যবহারের জন্য -1 sudo
0xC0000022L

1

আমি সাধারণত দীর্ঘকালীন (6+ মাস) সেশনগুলি বিভিন্ন সার্ভারে আমার কর্মক্ষেত্রে চালিত রাখি। তাই বারবার পুনরায় পাঠানো এবং একটি সার্থক এসএস ফরওয়ার্ডিং এজেন্ট হওয়া সমস্যাযুক্ত। এটি আমি আমার সিস্টেমে সেট আপ করেছি:

if [ -z "${STY}" -a -t 0 -a X${USER} = Xmyusername ]; then
    reattach () {
        if [ -n "${SSH_AUTH_SOCK}" ]; then
            ln -snf "${SSH_AUTH_SOCK}" "${HOME}/.ssh/agent-screen"
            SSH_AUTH_SOCK="${HOME}/.ssh/agent-screen" export SSH_AUTH_SOCK
        fi
        exec screen -A -D -RR ${1:+"$@"} ;
    }

    screen -wipe
    echo 'starting screen... (type Cntl-C to abort)'
    sleep 5 && reattach
fi

আমি যদি স্ক্রিনটি পুনরায় / পুনঃস্থাপন না করে কেবল দূরবর্তী সার্ভারে লগইন করি তবে দুটি "সকেট" থাকবে, একটি screenনতুন শেল দ্বারা ব্যবহৃত হবে এবং অন্যটি থাকবে। দুটি "স্টার্টআপ" সেশন হওয়া উচিত নয়, তবে দ্বিতীয় সেশনটি এখনও ব্যবহার শুরু করা যেতে পারে reattach -S new; এই পরিস্থিতিতে এজেন্টকে ~/.ssh/agent-screenমূল্য দিয়ে ভাগ করা হবে । কোনও ওয়ার্কিং ফরোয়ার্ডিং এজেন্ট ফিরে পেতে, তারপরে আমি আলাদা করে ফিরব, লগ ইন করব The X${USER} = Xmyusernameএটি নিশ্চিত করে যে sudoকোডটি একই সার্ভারে কল করা হবে না ।


1

আমি @apinstein আমার .bashrc এর জন্য কী ব্যবহার করছে তার একটি প্রকরণ ব্যবহার করছি ।

case "$TERM" in
    screen)
           export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
        ;;
         *)
           if [[ -n "$SSH_AUTH_SOCK" ]]; then
               ln -sf $SSH_AUTH_SOCK ~/.ssh/ssh_auth_sock
           fi
        ;;
esac

এটি আমার স্ক্রিন সেশনে চলমান সমস্ত অ্যাপের জন্য কাজ করে। এটি আপনার স্ক্রিন সেশনে সমস্ত নতুন শেলের জন্য কাজ করবে। বিদ্যমান শেলগুলির export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sockজন্য এটির কাজটি করার জন্য আপনাকে হোস্ট শেলটিতে চালানো দরকার ।

পিএস দুঃখিত এটি একটি স্বাধীন উত্তর হিসাবে যুক্ত করার জন্য, যদিও এটি ঠিক @ apinstein এর উত্তর উপর নির্মিত। স্ট্যাকওভারফ্লোতে মন্তব্যগুলি কোড ব্লকগুলিকে সমর্থন করে না বলে এটি করতে হয়েছিল।


কেন সবসময় সিমলিংক এবং সর্বদা রফতানি হয় না?
কলিন অ্যান্ডারসন

@ কলিনএন্ডারসন দুটি ভিন্ন আচরণ একটি স্ক্রিন শেলের মধ্যে এবং একটি নিয়মিত লগইন শেলের মধ্যে। একটি লগইন শেলের পরিবেশ পরিবর্তনশীল ssh দ্বারা সেট করা হয় এবং সেজন্য সেখানে syMLink। যদি আমরা এটি কোনও স্ক্রিন সেশনের মধ্যে করি তবে আমরা একটি সিমিলিংক লুপ তৈরি করব।
সন্দীপ ভট্টাচার্য

আহ, ঠিক আছে। Only SSH_AUTH_SOCK যদি ইতিমধ্যে কোনও লিঙ্ক না হয় তবে আপনাকে কেবল লিঙ্ক করতে হবে। আমার পোস্টটি superuser.com/a/424588/134212 দেখুন
কলিন অ্যান্ডারসন

0

আসুন স্ক্রিন এবং এসএসএল এজেন্ট বন্ধু বানানোর পরামর্শ অনুসারে আমি এই সাধারণ একটি লাইনারটি চেষ্টা করেছিলাম এবং এটি আমার পক্ষে কাজ করে।

টার্গেটে প্রথমবারের জন্য লগইন করুন only কেবল একবারই করা দরকার।

ssh -o StrictHostKeyChecking=no -C <userid>@<server>

প্রথমবারের জন্য স্ক্রিন আরম্ভ করুন..এই একবার প্রয়োজন।

eval `ssh-agent`; /usr/bin/screen -D -R -h 10000
ssh-add

যদি বিচ্ছিন্ন বা সংযোগ বিচ্ছিন্ন হয় তবে এই কমান্ডটি পরবর্তী সময়ে প্রবেশকারী স্ক্রিনের সাথে সংযোগ করতে লগইন করতে ব্যবহার করুন।

ssh -o StrictHostKeyChecking=no -C -t <userid>@<server> ssh-agent /usr/bin/screen -D -R -h 10000

0

এই সমস্ত সত্যিই ভাল উত্তর আমি এটি কিছুটা ভিন্নভাবে করি। আমি একটি নতুন ssh অধিবেশন শুরু করার পরে এবং স্ক্রিনটি পুনরায় সংযুক্ত করার পরে, আমি SSH_AUTH_SOCKমূল বাশ পরিবেশের সামগ্রীর উপর ভিত্তি করে পরিবেশ পরিবর্তনশীলটিকে পুনরায় সেট করি । যখন আমি এসএনএন ব্যবহার করি তখনই কেবল এসএসএইচ-এজেন্ট অ্যাক্সেসের SSH_AUTH_SOCKপ্রয়োজন হয় তাই আমি এই শেলগুলির মধ্যে যেমন প্রয়োজন তেমন পুনরায় সেট করি ।

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

SSH_AUTH_SOCK পুনরায় সেট করতে (এটি একটি উপাম তৈরি করা যেতে পারে)।

$ . ~/bin/screen_auth.sh

স্ক্রিন_আউথ.শ দেখতে লাগে

# Find the pid of putty's bash shell
tty=`who | awk '/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/ { print substr($2, 5) }'`
pid=`ps -t $tty | grep bash | awk '{print $1}'`
# Find the SSH_AUTH_SOCK variable in its enviornment
auth_sock=`xargs --null --max-args=1 echo < /proc/$pid/environ | grep SSH_AUTH_SOCK`
eval "export $auth_sock"

0

উপরের সমস্ত সমাধান রেসিং শর্তে ভুগছে (একাধিক স্ক্রিন সেশন বা একাধিক এসএসএইচ সংযোগে)। আমি যে একমাত্র সর্বজনীন সমাধানের কথা ভাবতে পারি তা হ'ল প্রথমে এসএসএইচ_আউথ_সোককে স্ক্রিন সার্ভার প্রক্রিয়াতে চাপানো screen -rএবং তারপরে প্রতিটি ইন্টারেক্টিভ নন-বিল্টিন কমান্ডের আগে এটি BASH সেশনের ভিতরে টান। দুর্ভাগ্যক্রমে স্ক্রিন এবং বেস এই জাতীয় সমস্যা সম্পর্কে সচেতনতা ছাড়াই ডিজাইন করা হয়েছিল, সুতরাং এটি সঠিকভাবে প্রয়োগ করা বরং কঠিন (যদিও উভয় প্রকল্পে বৈশিষ্ট্য অনুরোধ পোস্ট করতে দেরি হয় না)। আমার প্রচেষ্টাকে বেস সেশনের জন্য এই সমস্যাটি কাটিয়ে ওঠার চেষ্টা করা হয়েছিল যা এখানে পাওয়া যাবে:

স্থাপন করা:

  1. উভয় স্ক্রিপ্ট এ প্রবেশ করানো $HOME/bin, এক্সিকিউটেবল বিট যোগ করুন;
  2. এটি PATH এর $HOME/binআগে /usr/binচলেছে তা নিশ্চিত করুন :

    পাথ = $ হোম / বিন: $ পাথ

  3. এটি আপনার যুক্ত করুন .bashrc:

    উত্স $ হোম / বিন / স্ক্রিন-সহায়ক সেটআপ

এখন আপনি এসএসএইচ সেশনের মধ্যে স্ক্রিন সেশন তৈরি করার চেষ্টা করতে পারেন, আলাদা করতে, সংযোগ বিচ্ছিন্ন করতে, সংযুক্ত করতে এবং পুনরায় সংযোগ স্থাপন করতে এবং আশা করি ssh-add -lআপনার কীগুলি সঠিকভাবে প্রদর্শন করা উচিত।


দ্রষ্টব্য, স্থায়ী ssh-agentডিমন (সুপারিশকৃত সুপারিশক / a / 412052/376867 হিসাবে এখানে পরামর্শ দেওয়া হয়েছে ) রেসিং শর্তে ভোগেন না, তবে বাসি কীরিংয়ে ভুগছেন। এবং আরও গুরুত্বপূর্ণ, স্ক্রিন সেশন সহ (বা উল্লিখিত পোস্টের ক্ষেত্রে পুনরায় বুট হওয়া পর্যন্ত লম্বা হওয়া পর্যন্ত) আপনার সমস্ত কীগুলি পর্দার সেশনের পাশাপাশি দূরবর্তী হোস্টে রেখে দেওয়া খুব নিরাপদ নয়।
মিডেনোক

0

আমি অন্যান্য উত্তরের মাধ্যমে ঝাঁকিয়ে পড়েছিলাম এবং আমার সন্ধান করতে পারি না। আমি যা ব্যবহার করি তা এখানে। ~/.screenrc-wrapperনিম্নলিখিত বিষয়বস্তু সহ একটি ফাইল তৈরি করুন :

escape ^xx
bindkey ^Ad detach

এবং এটি আপনার যুক্ত করুন ~/.bashrc(বা ~/.zshrcআপনি যদি এটি ব্যবহার করেন):

  if echo $TERM | grep -v 'screen' && ! screen -x -SU wrapper; then
      if echo $TERM | grep -v 'screen' && ! screen -x -SU main; then
      screen -c ~/.screenrc-wrapper -SU wrapper ssh-agent screen -SU main
      fi
  fi

আপনি দুটি স্ক্রিন সেশন ব্যবহার করবেন - একটি হ'ল "মোড়ক" এবং একটি অভ্যন্তরীণ। আপনি লগ আউট করার পরেও এটি পরবর্তীকে জীবিত রাখবে এবং এটিতে ssh- এজেন্ট চালু থাকবে। আর একটি দুর্দান্ত বৈশিষ্ট্য হ'ল এটি আপনার উইন্ডো সেটআপটি মনে রাখবে - আপনি যদি বিভক্ত উইন্ডো ব্যবহার করেন তবে এটি খুব সহজ হতে পারে।

আমার ডটফাইলে আপনি এই বৈশিষ্ট্যটি প্রসঙ্গে খুঁজে পেতে পারেন ।

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