putty+pagent+screen经典组合是每天必备的工具,但screen -d -r恢复时,发现ssh-agent不起作用了。原因就是SSH_AUTH_SOCK的值变化了。
但需要两处地方即可实现:
-
修改$HOME/.screenrc
-
-
unsetenv SSH_AUTH_SOCK
-
setenv SSH_AUTH_SOCK $HOME/.screen/ssh-auth-sock.$HOSTNAME
-
修改修改$HOME/.bashrc 增加
-
-
-
-
ssh_auth_agent() {
-
-
-
-
if [ ! -d $HOME/.screen ]; then
-
-
mkdir -p $HOME/.screen
-
-
fi
-
-
-
-
if [ -S $HOME/.screen/ssh-auth-sock.$HOSTNAME ]; then
-
-
ln -sf "$SSH_AUTH_SOCK" "$HOME/.screen/ssh-auth-sock.$HOSTNAME"
-
-
fi
-
-
}
-
-
alias screen='ssh_auth_agent ; export HOSTNAME=$(hostname) ; screen'
然后重新登录即可。
阅读(2128) | 评论(0) | 转发(0) |