У меня есть следующее в моем .bash_profile на моих удаленных серверах:
if [ -z "${STY}" -a -t 0 -a X${USER} = Xarcege ]; then
reattach() {
if [ -n "${SSH_AUTH_SOCK}" ]; then
ln -snf "${SSH_AUTH_SOCK}" "${HOME}/.ssh/agent-script"
SSH_AUTH_SOCK="${HOME}/.ssh/agent-script" export SSH_AUTH_SOCK
fi
exec screen -A -D -RR ${1:+"$@"}
}
screen -wipe
echo 'starting screen... (type Ctrl-C to abort)'
sleep 5 && reattach
fi
Это делает две вещи: во-первых, настраивает функцию оболочки, чтобы заменить оболочку и продвинуть соединение ssh-агента, второе, это вызывает функцию после приостановки в течение нескольких секунд (в случае, если Вы не хотите, чтобы экран запустился).
Первое if
пункт будет верен, не уже выполнив экран (-z "${STY}"
) присоединен к терминалу (-t 0
) и я не выполняю sudo (который иногда не изменяется $USER
).
reattach
функция сначала проверит, назвали ли ssh с активным ssh-портом-агентов (-n "${SSH_AUTH_SOCK}"
). Затем это заменит то, что в ~/.ssh/agent-script
с в настоящее время активным файлом сокета и заменой переменная среды ($SSH_AUTH_SOCK
) с новым значением. Затем сценарий заменит текущую оболочку синглом screen
сессия (удостоверяющийся, что только один должен существовать). Любые аргументы reattach
функция передается команде (${1:+"$@"}
).
Последняя часть сначала удаляет любые мертвые сессии (screen -wipe
), позволяет пользователю (меня), знают, что экран будет запускаться вскоре и может вместо этого возвратиться к оболочке путем нажатия Ctrl-C. Затем это ожидает в течение 5 секунд и звонит reattach
функция.
SSH является довольно медленным как протокол для серьезной передачи данных, я поразил часть своей сети/скоростей диска при выполнении передач как это также. Одна вещь, которую можно сделать для улучшения производительности - tho, я понятия не имею, как Вы реализовали бы ее - переключают "шифр" на шифр, которому я верю, является самым быстрым из шифров SSH. Я действительно не квалифицирован для комментария полной безопасности этого tho, но я предполагаю, что Вы проталкиваете LAN и не чрезмерно взволнованные по поводу довольно специализированного взламывания, которое было бы необходимо для вторжения в поток. Конечно, переключение на не зашифрованный протокол обеспечивает лучшее усиление.
(ssh-c шифр / scp-c шифр стандарт ssh аргументы в пользу этого шифра),
(если rsnapshot базируется вокруг rsync, он раньше имел его собственный rsync://протокол, который не имеет издержек ssh, который мог бы быть другим путем для Вас также),
arcfour
обычно самый быстрый ssh шифр. – Reinstate Monica - M. Schröder 07.10.2013, 02:01