В удаленной оболочке можно просто запустить:
ssh-agent bash
Таким образом вы получите новый экземпляр агента SSH и новую оболочку bash
с установленными необходимыми переменными окружения. Когда вы покидаете оболочку с exit
или logout
, агент SSH также завершает работу.
Если у вас есть те же ключи, доступные на устройстве, которое вы используете напрямую, вы также можете использовать ssh -A
, чтобы сделать локальный агент доступным только что запущенному ] удаленная оболочка . Это имеет некоторые последствия для безопасности, но если у вас есть ключ, доступный на обоих устройствах, разницы нет.
Если вы хотите подключиться к существующему агенту, вам необходимо настроить соответствующие переменные среды так же, как они настроены в вашей графической оболочке. Может быть удобно использовать средство автозапуска сеанса графического интерфейса пользователя, чтобы где-нибудь сохранить переменные. Вы можете получить переменные среды, используя env
.
env | grep SSH
Для доступа к агенту вам просто нужен SSH_AUTH_SOCK
. SSH_AGENT_PID
используется для отправки сигналов агенту, а другие переменные SSH используются для вспомогательных инструментов.
Вы также можете получить доступ к среде других процессов через / proc / * / окружение
. Тем не менее, элементы заканчиваются NUL, а не LF. Я считаю, что в этом случае предпочтительнее файловый метод.
Можете ли вы проверить диск на наличие сбойных секторов или сбойных блоков? вы можете использовать команду badblocks или smartctl для проверки в Linux, я думаю, что плохой диск является единственной причиной вашей проблемы.