ssh password-less login не работает с помощью proxycommand

У меня 2 сервера. Я могу подключиться к серверу B только с использованием сервера A. В моем файле ~/.ssh/config :

 Host serverB Hostname serverb User root ForwardAgent yes Port 22 ProxyCommand ssh user@serverA nc %h %p 

Когда я вхожу на сервер и набираю ssh root@serverB он подключается без запроса пароля, но когда я ssh ServerB на своем локальном компьютере, он запрашивает пароль ServerB. Зачем?

  • Перезагрузка заставляет меня потерять ключи без пароля на других машинах
  • Резервное копирование с помощью find и ssh для сервера вне сайта
  • Безопасно ли отключать пароль для пользователя, если он использует только SSH-ключ?
  • Есть ли способ узнать, сколько экземпляров пользователя root регистрируется на Linux-машине?
  • Как временно переключиться с ssh на локальную оболочку?
  • Запретить SSH для конкретного пользователя из внешней сети
  • Удалите все команды ssh-keygen из сценариев инициализации
  • Шаблоны ssh config, чтобы избежать ввода имени пользователя
  • Как использовать `lsh` в качестве клиента для сервера OpenSSHD без пароля?
  • SSH-Config - Есть ли способ определить, локальный или удаленный?
  • объяснение туннеля ssh
  • Мониторинг процесса sSSTP OpenSSH?
  • 3 Solutions collect form web for “ssh password-less login не работает с помощью proxycommand”

    ProxyCommand дает только туннель для подключения внешнего ssh соединения.

    Когда вы выполняете ssh serverB от serverA , вы, вероятно, используете ключ в своей учетной записи на serverA .

    Когда вы делаете ssh serverB с вашей клиентской машины, тот факт, что вы подключаетесь через эту команду nc запущенную на serverA , не собирается магически давать вам доступ к ключам на сервере A.

    Вам нужно будет добавить ключи сервера к вашему агенту клиента.

    Например:

     ssh-add <(ssh serverA 'cat .ssh/id_rsa') 

    Чтобы добавить ключ в .ssh/id_rsa на serverA (синтаксис ksh93 / bash / zsh выше).

    Немногие вещи:

    1. Как вы уверены, что вы запрашиваете пароль serverB? Это может потребовать от serverA
    2. Вам не нужно перенаправлять агента – в этом случае вы будете квитироваться напрямую с сервером. Это не будет serverA, который связывается с серверомB
    3. Вам не нужно добавлять ключ от serverA к своему клиенту – снова вы будете говорить напрямую с сервером B – только через serverA – так что не видите этого в этом вопросе – и это также угроза безопасности.
    4. Что происходит, когда вы ssh serverA – запрашиваете пароль? если это так – считаете ли вы, что вы устанавливаете свой открытый ключ на authorized_hosts сервераA? ssh-copy-id serverA ?
    5. работать с -vvv и pastebin / filebin / post output

    У меня нет полного ответа, просто некоторые вещи, которые нужно проверить. Проверьте разрешения домашних каталогов пользователя unix на оба поля. Проверьте права каталога на $ HOME, $ HOME / .ssh и все файлы под .ssh в обоих случаях. Проверьте версии ssh. Сравните также файлы конфигурации ssh для обоих полей.

    Но это случалось со мной много раз в прошлом. Две вещи, которые вызвали это?
    1. неправильные разрешения в каталогах. 2. Плохой ключ сервера в $ HOME / .ssh /

    Linux и Unix - лучшая ОС в мире.