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.

Так что ты можешь сделать?

  1. Найдите место, где ваш ssh-агент запущен, чтобы узнать, почему это не сделано для удаленных сессий.
  2. Запустите ssh-agent изнутри .profileНапример, посмотрите на это.

Если твой .profile проверяет уже запущенный агент, он не будет мешать агенту графического сеанса. Это будет работать как для локальных графических, так и для удаленных текстовых сессий.

Другие вопросы по тегам