У меня есть эта учетная запись, которую я правильно настроил для управления ключами от 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 ответ1

1

Ваш config файл не запускает агент. Он просто предоставляет три псевдонима с назначенными файлами ключей для использования. Если этот файл ключа (~/.ssh/vm) защищен парольной фразой (как и должно быть), и агент не запущен, вы должны вводить эту фразу каждый раз, когда используете ключ. Вот почему мы используем агентов.

Ваш агент должен быть запущен где-то еще. И если он не запускается при удаленном входе в систему, он может быть запущен при запуске графического сеанса (какой-то ключевой сервис). Вот почему вы должны запустить его вручную для удаленного SSH.

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .