Я использую Потрясающий Менеджер окон
Как я могу постоянно добавить закрытые ключи с паролем?
Вдохновленный ответом здесь я добавил закрытые ключи в ~/.ssh/config
Содержание ~/.ssh/config:
IdentityFile 'private key full path'
Полномочия ~/.ssh/config: 0700
Но это не работает на меня.
Если я вручную добавляю ключ в каждой сессии, он работает, но я ищу более изящный путь (не в .bashrc)
Править:
После добавления ключа SSH с ssh-copy-if
к удаленному хосту я получаю следующую подсказку в терминале (Терминал 3.0.1 GNOME), когда я вхожу в систему:
ssh -i .ssh/Password-Protected-Key user@host
Enter passphrase for key '.ssh/Password-Protected-Key':
gnome-keyring-dameon
таким образом, я уничтожил другой pid и работал gnome-keyring-daemon --start | grep SOCK
(Я также добавил его в .profile), (grep) вывод:SSH_AUTH_SOCK=/tmp/keyring-2LXXXX/ssh
Я выполнил те же самые шаги, и аналогично у меня нет GUI, ssh-добавляет диалоговое окно.
РЕДАКТИРОВАНИЕ 2:
Я создал новый пароль защищенный ключ из виртуальной машины Ubuntu 11.10 на единице, и я все еще не могу получить подсказку пароля.
РЕДАКТИРОВАНИЕ 3: кажется, что это не может работать в Потрясающем менеджере окон и возможно другом..
Если вы используете Unity или менеджер сеансов, который запускает gnome-keyring-daemon, вы можете просто использовать Seahorse (пароли и ключи), чтобы установить ключ, определить, для чего он нужен, установить фразу-пароль и распространить ее публично. ключ к компьютеру, который вы собираетесь использовать с SSH. Нет необходимости в терминальных командах.
Вы создаете пароль:
, выбирая File-> New и выбирая Secure Shell Key. Нажмите Продолжить.
Введите описательное имя и выберите Create and set up
.
Вам будет предложено ввести ключевую фразу дважды (во второй раз, чтобы убедиться, что вы не вводили ее неправильно в первый раз.
Введите компьютер, чтобы какой открытый ключ должен использоваться и имя пользователя на том компьютере, для которого вы будете использовать ключ. Открытый ключ будет скопирован на этот другой компьютер, запрашивая ваш пароль на этом компьютере в случае необходимости.
Теперь на вкладке My Personal Keys
будет отображаться ключ.
Предполагается, что gnome-keyring-daemon был запущен правильно, когда вы вошли в Lightdm, и снова вашим менеджером сеансов, когда вы впервые используете введите ssh, и вам будет предложено ввести ключевую фразу. В этом диалоговом окне вы можете указать ключевую фразу, выбрать элемент управления Details
и попросить разблокировать набор ключей при каждом входе в систему - автоматически предоставив эту клавишу. Нажмите OK kbd>
Возможно, вам не удастся запросить этот способ, если для удаленного компьютера будет доступен другой ключ.
После этого h как только будет выполнено, первая вкладка Seahorse Passwords
выведет список «Unlock password entry» для имени ключа. Нажмите на треугольник перед « Пароли: Логин», чтобы увидеть его.
вы можете использовать
ssh-add 'filename or fullpath'
вас попросят ввести ключевую фразу, если у ключа есть один
, то вы можете подключиться без пароля
Если вы хотите работать с закрытыми ключами, выполните:
ssh-keygen -t rsa -N ''
Затем:
скопируйте .ssh/id_rsa.pub
в пункт назначения машины в .ssh/authorized_keys
через scp
scp .ssh/id_rsa.pub user@remote_machine:~/.ssh/authorized_keys
[ 118] Все сделано.
Подключение к удаленной машине без пароля:
ssh user@remote_machine
И у нас нет запроса пароля.
Решение Вашей проблемы использует ssh агент. Просто необходимо разблокировать пароль ключа однажды, после этого он сохраняется в памяти агентом и используется автоматически
ssh-keygen -t dsa
ssh-copy-id
для этого)ssh-add
перед входом в систему в к удаленной системе это попросит Ваш пароль и сохранит егоssh-агент описан хорошо на .NET, например, здесь:
Другое преимущество ssh-агента - это, если Вы входите в удаленную систему с ssh -A user@domain.name
Вы можете далее ssh с domain.name компьютера на третий компьютер, содержащий Ваш открытый ключ без каждого копирования Вас закрытый ключ к domain.name компьютеру (и это никогда не видит Вашего закрытого ключа, только одноразовая проблема/ответ).
Это, вероятно, что Вы хотите: ввод ключевого пароля однажды делает это доступным навсегда каждый раз, когда Вы зарегистрированы. Это будет работать на большинство пользователей, которые используют рабочие столы Gnome или Единица.
Когда Вы соединитесь после добавления открытого ключа к удаленному серверу, Вы доберетесь, GUI ssh-добавляют диалоговое окно:
Разверните "Детали" путем нажатия на треугольник, и Вы доберетесь ниже. Значение по умолчанию является "брелоком для ключей блокировки, когда я выхожу из системы", который требует, чтобы Вы ввели пароль однажды на сессию:
Измените его для автоматического разблокирования... каждый раз, когда я зарегистрирован, что означает, что это будет работать каждый раз, когда Вы вошли в систему своей сессии - этим "управляет" Ваш пароль пользователя. Это сохранится через перезагрузки.
Введите ключевой пароль однажды и вот именно - ключ аутентифицируется через начальный успешный вход в систему Вашей настольной среды.
Протестированный с новой установкой AwesomeWM в новом идентификаторе пользователя
По умолчанию, использование AwesomeWM ssh-agent
:
$ export | grep SSH declare -x SSH_AGENT_PID="5479" declare -x SSH_AUTH_SOCK="/tmp/ssh-fWCKNnPq5440/agent.5440"
Чтобы заставить вышеупомянутые шаги работать, необходимо использовать gnome-keyring-daemon
как демон аутентификации SSH, не ssh-агент. При входе в систему в использование lightdm PAM запускается gnome-keyring-daemon
это попытается разблокировать ключ входа в систему с Вашим разблокировать пароль, но необходимо добавить к Вам конфигурацию, чтобы поддерживать его в рабочем состоянии и использовать его.
Добавьте следующее в конец Вашего ~/.xprofile
:
#!/bin/bash eval $(gnome-keyring-daemon --start) export SSH_AUTH_SOCK export GNOME_KEYRING_PID export GNOME_KEYRING_CONTROL
Команды в ~/.xprofile
файл будет выполняться xsession прежде, чем запустить потрясающий менеджер окон и свяжет его с gnome-keyring-daemon --login
процесс, запущенный PAM через вышеупомянутые переменные среды.
ssh user@host
, необходимо добраться, вышеупомянутые всплывающие окна - используют их, чтобы декодировать закрытые ключи в ~/.ssh/и сохранить закрытые ключи к брелоку для ключей входа в систему брелока для ключей гнома.должен использовать gnome-keyring-daemon
вместо ssh-agent
. Для этого необходимо работать gnome-keyring-daemon
и инициализируйте его, и любой делает это после ssh-agent
запускается или не запускаются ssh-agent
вообще.
ssh
(на самом деле ssh-добавьте), решает который агент аутентификации звонить на основе значения SSH_AUTH_SOCK
переменная среды, которая может быть проверена путем ввода export | grep SOCK
это имеет форму SSH_AUTH_SOCK=/tmp/ssh-MMFyVlI22130/agent.22130
для ssh-агента (НЕ, что Вы хотите смочь сохранить свой ключ),
но формы SSH_AUTH_SOCK="/tmp/keyring-mEQB5g/ssh"
для гнома-демона брелока для ключей (который Вы хотите),
так проверьте значение и сверьтесь ps aux | grep keyring
тот гном-демон брелока для ключей работает, и если так, инициализируйте его с результатами gnome-keyring-daemon --start
можно затем проверить связанные сохраненные идентификационные данные в консоль путем ввода ssh-add -l
- если это не показывает "агента", затем Вы сделали ошибку при конфигурировании гнома-демона брелока для ключей.