Кажется, s sh не был предназначен для использования с множеством закрытых ключей, но некоторые люди все равно их получают. (Обратите внимание, что вы можете использовать один закрытый ключ для многих, многих целей; все, чем вы делитесь с миром или внешней службой, это ключ publi c, который не выдает никакой информации о частном ключ.)
Поскольку ddev auth ssh
настраивает для вас агента s sh, и, кажется, нет способа заставить s sh выбрать конкретную c идентификацию из числа идентификационные данные, предоставленные агентом, вам нужно использовать один из двух обходных путей.
Обходное решение # 1: Используйте всего несколько клавиш
Вы, конечно, можете уменьшить число Ключи в вашем каталоге ~ / .s sh равны 6 или меньше (6 - значение по умолчанию в sshd на стороне сервера для MaxAuthTries
). Но давайте предположим, что вы не хотите этого делать.
Создайте каталог, возможно ~/ddev-ssh-keys
. В этом каталоге скопируйте или используйте символическую ссылку на 6 клавиш, которые вы используете чаще всего. Итак, cd ~/ddev-ssh-keys && for item in goodkey1 goodkey2 ... googdkey6; do ln -s ~/.ssh/$item; done
(или любым другим способом, которым вы хотите sh связать или скопировать).
Теперь ddev auth ssh -d ~/ddev-ssh-keys
и агент ddev-s sh будут иметь только эти 6 ключей. Если они являются правильными ключами для решения большинства ваших проблем, вам следует использовать этот подход.
Обходной путь № 2: Скопируйте ключи в контейнер с помощью .ddev / homeadditions
Этот обходной путь позволит вам скопировать нужные ключи в веб-контейнер. Это, вероятно, не так безопасно, как первый подход (потому что вы никогда не должны копировать свои личные ключи в любом месте), но это работает.
Если вам действительно нужны ключи в контейнере (в отличие от использования агента), тогда mkdir -p .ddev/homeadditions/.ssh && cp ~/.ssh/<yourimportantkey(s)> .ddev/homeadditions/.ssh && chmod 700 .ddev/homeadditions/.ssh && chmod 600 .ddev/homeadditions/.ssh/*
. Затем вы можете использовать файл .ddev / homeadditions / .ssh / config любым удобным для вас способом, включая указание ключей.
Этот ответ адаптирован с https://github.com/drud/ddev/pull/2224