Вы не можете просто отредактировать файл /etc/default/grub
и ожидать, что система примет изменения. Я получил это откуда-то в сети, преобразование Ubuntu update -grub script:
#!/bin/sh
set -e
exec grub2-mkconfig -o /boot/grub2/grub.cfg "$@"
Запустите это (от имени root ), затем перезагрузите компьютер.
Если вы не отключите его вручную, агент останется резидентным в вашей системе.
Помимо общей неаккуратности, это имеет две потенциальные проблемы:
Как отмечает Кусаналанда, это означает, что каждый раз, когда вы входите в систему, вы будете порождать другие ssh-agent
процессы, что приводит к некоторой небрежности в таблице процессов, даже если их след, вероятно, незначителен.
А если серьезно, каждый из этих процессов будет иметь ваши разблокированные приватные ключи в своей памяти. Если злоумышленник получит доступ к вашей системе и воспользуется (гипотетическим кодом, я в настоящее время не знаю ни о какой существующей )ошибке ни в управлении памятью ядра, ни в самом ssh-agent
коде для потенциального извлечения ваших закрытых ключей.
Конечно, последнее имеет низкую вероятность, но так же просто убить процесс и полностью устранить риск.
Лучше перестраховаться, чем потом сожалеть.
Вы не обязаны . Но вы, вероятно, хотите, по крайней мере, убедиться, что в памяти агента нет разблокированных ключей, и что вы не оставляете чрезмерное количество агентов без присмотра.
Для этого,ты мог бы:
ssh-agent -t 1800
на 30-минутный тайм-аут или используйте ssh-add -t 1800
при добавлении ключей)ssh-add -D
из ваших сценариев выхода ); и #.bashrc
start_ssh_agent() {
if [ -e ~/.agent ]; then
. ~/.agent
fi
ssh-add -l > /dev/null 2>&1
if [ "$?" = "2" ] ; then
# agent not running, start it
ssh-agent -t 3600 |grep -v ^echo > ~/.agent
. ~/.agent
echo "Started SSH agent with PID $SSH_AGENT_PID"
fi
}
start_ssh_agent
Конечно, есть и другие способы. В частности, вы можете использовать фиксированный путь к сокету агента. См., например. Как заставить агент ssh -работать на всех терминалах?
С другой стороны, если бы кто-то мог получить ключи от вашего SSH-агента, то есть прочитать программную память вашего процесса, он, вероятно, мог бы делать и другие вещи. Например, изменить настройки, чтобы отключить тайм-ауты, или установить модифицированный ssh-add
, который отправляет им копию ключа и пароль.