SSH-агент не загружается при удаленном доступе к машине

281
Mini Fridge

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

0

1 ответ на вопрос

1
Kellerspeicher

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

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

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

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

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

Похожие вопросы