ssh-add добавить все закрытые ключи в .ssh каталог

В моем изо дня в день мне нужно ssh для разных машин, для которых у меня есть отдельный закрытый ключ.

Когда я запускаю новый сеанс оболочки – только мой id_rsa по умолчанию добавляется в цепочку ключей ssh ​​- я запускал

ssh-add ~ / .ssh / *

Однако это также пытается и не удается при добавлении таких вещей, как ~ / .ssh / config

Используя find / grep , как я могу использовать только добавление действительных файлов закрытого ключа?

2 Solutions collect form web for “ssh-add добавить все закрытые ключи в .ssh каталог”

Немного запутанный, но:

 for possiblekey in ${HOME}/.ssh/id_*; do if grep -q PRIVATE "$possiblekey"; then ssh-add "$possiblekey" fi done 

Вы также можете добавить все свои ключи в свой ~/.ssh/config каждый в своей собственной директиве IdentityFile за пределами директивы Host :

 # Global SSH configurations here will be applied to all hosts IdentityFile ~/.ssh/id_dsa IdentityFile ~/.ssh/id_project1 IdentityFile ~/.ssh/id_someotherkey Host somespecifichost.example.com IdentityFile ~/.ssh/id_specifichostonlykey 

Последний, честно-лучший, метод имеет добавленную черту, не внезапно поднимая новый ключ, который вы добавили, без вашего явного добавления его в «брелок».

Для этого я придумал следующую команду:

 find ~/.ssh/ -type f -exec grep -l "PRIVATE" {} \; | xargs ssh-add &> /dev/null 

Это find все файлы в каталоге .ssh , содержащие PRIVATE , передав имя / путь файла закрытого ключа в ssh-add .

  • xargs и vi - «Вход не от терминала»
  • Команда xargs приводит к sed:;: Нет такого файла или каталога
  • Как мне регистрировать xargs -0 rm?
  • Печать состояния файлов, обрабатываемых при использовании find
  • опция xargs -I
  • GNU параллельна чрезмерно медленной
  • Как скопировать список файлов и настроить имена файлов назначения на лету?
  • Какова цель опции -I команды xargs?
  • Что делает эта командная строка (`echo $ 1 | xargs -n 1 basename | cut -d '.' -f1`)?
  • создать хеш md5 из рекурсивного списка файлов, когда некоторые пути имеют пробелы
  • Применение функции bash для каждого файла в подпапке рекурсивно
  • Linux и Unix - лучшая ОС в мире.