SSH-агент не загружается при удаленном доступе к машине
У меня есть эта учетная запись, которую я правильно настроил для управления ключами от ssh к другим экземплярам.
Когда я сижу перед машиной, моя конфигурация работает, как описано в моем файле ~/.ssh/config:
Часть этого:
Host vm0-test
User test
HostName vm0.test.lab
IdentityFile ~/.ssh/vm
Host vm1-test
User test
HostName vm1.test.lab
IdentityFile ~/.ssh/vm
Host vm2-test
User test
HostName vm2.test.lab
IdentityFile ~/.ssh/vm
Но каждый раз, когда я удаленно подключаюсь к этой машине, мне нужно вручную выполнить следующие шаги:
remote $ eval `ssh-agent`
remote $ ssh-add ~/.ssh/vm
Как я могу принудительно загрузить мою локальную конфигурацию каждый раз, когда я ssh?
1 ответ
Ваш config
файл не запускается агентом. Он просто предоставляет три псевдонима с назначенными ключевыми файлами для использования. Если этот ключевой файл (~/.ssh/vm
) защищен парольной фразой (как и должно быть), и ни один агент не работает, вы должны вводить эту фразу каждый раз, когда используете ключ. Вот почему мы используем агентов.
Ваш агент должен быть запущен где-то еще. И если он не запускается при удаленном входе в систему, он может быть запущен при запуске графического сеанса (какой-то ключевой сервис). Вот почему вы должны запустить его вручную для удаленного SSH.
Так что ты можешь сделать?
- Найдите место, где ваш ssh-агент запущен, чтобы узнать, почему это не сделано для удаленных сессий.
- Запустите ssh-agent изнутри
.profile
Например, посмотрите на это.
Если твой .profile
проверяет уже запущенный агент, он не будет мешать агенту графического сеанса. Это будет работать как для локальных графических, так и для удаленных текстовых сессий.