Вы пробовали лучший хит Google для любого из этих условий?
Даниэль Бек
Да, я сделал. Я не получил никакой полезной информации. Мой плохой
maneeshshetty
Ответы:
44
Агент представляет собой программу , которая держит ключи в памяти , так что вам нужно только , чтобы разблокировать их один раз , а не каждый раз. ssh-agent делает это для ключей SSH.
Обычные методы запуска ssh-agent :
eval `ssh-agent`- это запускает агент в фоновом режиме и устанавливает соответствующие переменные среды для текущего экземпляра оболочки.
( ssh-agent при запуске без аргументов выводит команды для интерпретации вашей оболочкой.)
exec ssh-agent bash- запускает новый экземпляр bashоболочки, заменяя текущий.
(С одним или несколькими аргументами ssh-agent ничего не выводит, но запускает указанную команду: в данном случае это bashоболочка, но технически это может быть что угодно.)
Второй метод иногда предпочтительнее, так как он автоматически убивает ssh-agent при закрытии окна терминала. (При запуске с evalагент будет работать, но недоступен.)
Тем не менее, это только запускает пустой агент. Чтобы сделать его действительно полезным, вам нужно использовать ssh-add , который разблокирует ваши ключи (обычно ~/.ssh/id_*) и загружает их в агент, делая их доступными для соединений ssh или sftp .
Есть ли способ запустить ssh-agent через несколько сеансов bash, один раз?
Асим
9
Кроме того, вы можете добавить некоторые ключи при запуске сеанса.
Отредактируйте ваш ~/.bashrcфайл и добавьте:
ssh-add &>/dev/null || eval `ssh-agent` &>/dev/null # start ssh-agent if not present
[ $? -eq 0 ] && { # ssh-agent has started
ssh-add ~/.ssh/your_private.key1 &>/dev/null # Load key 1
ssh-add ~/.ssh/your_private.key2 &>/dev/null # Load key 2
}
Проверьте ваши ключи с ssh-add -l
Вы можете остановить текущий сеанс ssh-agent с помощью ssh-agent -k
Что нужно знать о ssh-agent и .bashrc: не загружайте слишком много ключей. Количество попыток для ssh-демона по умолчанию ограничено 6. Это можно изменить /etc/ssh/sshd_configс помощью MaxAuthTriesзначения.
Ответы:
Агент представляет собой программу , которая держит ключи в памяти , так что вам нужно только , чтобы разблокировать их один раз , а не каждый раз. ssh-agent делает это для ключей SSH.
Обычные методы запуска ssh-agent :
eval `ssh-agent`
- это запускает агент в фоновом режиме и устанавливает соответствующие переменные среды для текущего экземпляра оболочки.( ssh-agent при запуске без аргументов выводит команды для интерпретации вашей оболочкой.)
exec ssh-agent bash
- запускает новый экземплярbash
оболочки, заменяя текущий.(С одним или несколькими аргументами ssh-agent ничего не выводит, но запускает указанную команду: в данном случае это
bash
оболочка, но технически это может быть что угодно.)Второй метод иногда предпочтительнее, так как он автоматически убивает ssh-agent при закрытии окна терминала. (При запуске с
eval
агент будет работать, но недоступен.)Тем не менее, это только запускает пустой агент. Чтобы сделать его действительно полезным, вам нужно использовать ssh-add , который разблокирует ваши ключи (обычно
~/.ssh/id_*
) и загружает их в агент, делая их доступными для соединений ssh или sftp .источник
Кроме того, вы можете добавить некоторые ключи при запуске сеанса.
Отредактируйте ваш
~/.bashrc
файл и добавьте:Проверьте ваши ключи с
ssh-add -l
Вы можете остановить текущий сеанс ssh-agent с помощью
ssh-agent -k
Что нужно знать о ssh-agent и .bashrc: не загружайте слишком много ключей. Количество попыток для ssh-демона по умолчанию ограничено 6. Это можно изменить
/etc/ssh/sshd_config
с помощьюMaxAuthTries
значения.источник
ssh-add
с «&»? Вы предполагаете, что файлы закрытого ключа не защищены?