Как запомнить мою парольную фразу ssh во время сеанса Ubuntu?

Если я открываю терминал gnome и подключаюсь к серверу через SSH, меня спрашивают о моей ключевой фразе с помощью текстовой подсказки в моем терминале вместо графического интерфейса пользователя, и, что еще хуже, эта пароль не сохраняется в памяти на время мой сеанс Ubuntu.

Напротив, я использую ключи PGP с Enigmail в Thunderbird, и мне приходится вводить свои парольные фразы только один раз за сеанс, используя графический интерфейс.

Кажется, у меня установлено и запущено 3 агента: seahorse-daemon, gpg-agent и ssh-agent, и они, похоже, не очень хорошо играют. У меня тоже работает гном-брелок. Я не понимаю, что должна делать каждая из этих программ.

ssh-agent запускается моей системой с "/ usr / bin / gpg-agent" в качестве первого аргумента команды, и я не понимаю, что это значит.

Как настроить агента, который будет использоваться для ключей SSH?

3
задан 30 January 2013 в 00:51

3 ответа

Я не использую утилиту с графическим интерфейсом в «настройках» -> «пароли и ключи»

Я установил связку ключей.

sudo apt-get install keychain

Если вы используете bash, вам нужно добавить несколько команд в ваш .bash_profile Если у вас нет .bash_profile создайте его в своей домашней папке. Добавьте эти строки:

### START-Keychain ###
# Let  re-use ssh-agent and/or gpg-agent between logins
/usr/bin/keychain $HOME/.ssh/id_dsa
source $HOME/.keychain/$HOSTNAME-sh
### End-Keychain ###

В начале рабочего дня я войду в систему. Когда я открываю терминал, мне будет предложено ввести пароль. Для всех других новых терминалов и подключений меня не будут спрашивать о моей парольной фразе снова.

0
ответ дан 30 January 2013 в 00:51

Запустите ssh-add в терминале и введите пароль при появлении запроса. Если это работает, то каждый последующий доступ к вашему ключу ssh должен работать без каких-либо подсказок во всех терминалах и приложениях, запущенных в одном сеансе X.

0
ответ дан 30 January 2013 в 00:51

Я провел много испытаний и исследований, чтобы выяснить, что большинство документов устарели, вот простой и эффективный способ заставить его работать.

В нижней части вашего файла .bashrc просто поместите это в:

# use a tty for gpg
# solves error: "gpg: signing failed: Inappropriate ioctl for device"
GPG_TTY=$(tty)
export GPG_TTY
# Start the gpg-agent if not already running
if ! pgrep -x -u "${USER}" gpg-agent >/dev/null 2>&1; then
    gpg-connect-agent /bye >/dev/null 2>&1
    gpg-connect-agent updatestartuptty /bye >/dev/null
fi
# Set SSH to use gpg-agent
unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $ ]; then
    export SSH_AUTH_SOCK="${HOME}/.gnupg/S.gpg-agent.ssh"
fi
# add alias for ssh to update the tty
alias ssh="gpg-connect-agent updatestartuptty /bye >/dev/null; ssh"

Надеюсь, что это спасет кого-то от головной боли от старой документации.

0
ответ дан 30 January 2013 в 00:51

Другие вопросы по тегам:

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