Я использую tmux на удаленном экземпляре, потому что он туннелируется на узлы сервера Mac. Эти серверные узлы Mac имеют Xcodes для сборки приложений iOS, поэтому их следует часто обновлять. Мои товарищи по команде используют скрипт с параллельным ssh-соединением с tmux на удаленном экземпляре, потому что эти Mac почти всегда дежурят для сборки приложений iOS.
В последнее время произошло то, что в значительной степени связано с обновлением Catalina Update: пользователь сценария не может отсоединить tmux и освободить соединение от удаленного экземпляра.
Если пользователь отключен от сеанса tmux и вышел из системы с удаленного сервера, пробное соединение SSH на следующий компьютер завершится неудачно с ошибкой входа в систему через SSH. (Текущие соединения, которые поддерживает скрипт и находятся в действии, сохраняются без закрытия соединения.)
Я попробовал параллельный вход SSH на основе пароля с UsePAM yes
как на Mac, так и на удаленном сервере, но ничего не изменилось. Также пробовал коды ниже, но в работе ничего не изменилось.
i) проверьте ssh_config и sshd_config удаленного сервера (https://qiita.com/sonots/items/2d7950a68da0a02ba7e4)
in ~/.bashrc and /etc/bashrc
agent="$HOME/.ssh/agent"
if [ -S "$SSH_AUTH_SOCK" ]; then
case $SSH_AUTH_SOCK in
/tmp/*/agent.[0-9]*)
ln -snf "$SSH_AUTH_SOCK" $agent && export SSH_AUTH_SOCK=$agent
esac
elif [ -S $agent ]; then
export SSH_AUTH_SOCK=$agent
else
echo "no ssh-agent"
fi
ii) разрешение пересылки ssh-агента на удаленный сервер (https://qiita.com/hirotaka-tajiri/items/5197c8fa7f32d766c9cc)
in ~/.ssh/config
ForwardAgent yes
in /etc/ssh/sshd_config
AllowAgentForwarding yes
in /etc/ssh/ssh_config
ForwardAgent yes
iii) Добавить ключи к агенту в ~ / .ssh / config удаленного сервера
Host *
AddKeysToAgent yes
Могу ли я еще что-нибудь сделать для решения проблемы, связанной с сеансом, или мне следует сохранить сеанс в режиме tmux?