У меня все настроено , так что после того, как я войду в систему и добавлю правильную идентификацию в ssh-agent, используя ssh-add
из окна терминала gnome, мне не придется вводить фразу-пароль снова, когда я вызвать ssh myserver
.
Теперь я хотел сделать это еще проще и создать панель запуска, которая запускала бы
gnome-terminal --command "ssh myserver"
, но хотя это вызывает то, что я хочу, он игнорирует ssh-agent, то есть он запрашивает Идентификационная фраза . И он делает это каждый раз, даже если я поставляю ПП, в следующий раз он спрашивает снова.
1119 Что я делаю не так? Кто-нибудь может объяснить, почему это не работает?
Дополнительные примечания:
Запуск gnome-terminal --command "ssh myserver
с уже открытого терминала работает нормально
Изменение части ssh myserver
на bash -c "ssh myserver"
с правильным цитированием не помогло.
Также использование ssh myserver
прямо в панели запуска не помогло: приглашение парольной фразы отображалось как простое окно графического интерфейса пользователя (если только я не выбрал опцию «Запуск в терминале», в этом случае поведение было таким же, как описано выше)
Это Ubuntu 12.04
добавление -vvv к обеим командам ssh, вот где неудачный (и запрашивающий PP) ssh начинает отличаться от успешного SSH:
[...]
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok: fp 5e:ad:5e:1f:7f:...
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/lennycz/.ssh/id_rsa':
, в то время как успешный SSH говорит
[...]
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok: fp 5e:ad:5e:1f:7f:...
debug1: Authentication succeeded (publickey).
[...]
(а затем многое, очевидно, не связано ...)
I не нашел ни полезных сообщений отладки, ни чего-либо в журналах системы / авторизации.
Полагаю, вы следовали за связанной статьей и изменили вашу ~/.bashrc
. Однако ~/.bashrc
может никогда не быть получен при запуске команды из панели запуска.
Самый простой способ отладки - добавить date > /tmp/bashrc_sourced
в конец вашего ~/.bashrc
и проверить, печатается ли текущее время в файле при вызове панели запуска.
Примечание по теме: Возможно, вы захотите взглянуть на цепочку ключей , которая специально разработана для управления ssh-agent для вас.
Я бы посоветовал проверить, что SSH_AUTH_SOCK передан правильно.
У меня есть это как часть моего сценария входа в KDE:
export SSH_AUTH_SOCK="${HOME}/.ssh-agent.sock"
rm -f ${SSH_AUTH_SOCK}
ssh-agent -a ${SSH_AUTH_SOCK}
и это в моем .bashrc:
export SSH_AUTH_SOCK="${HOME}/.ssh-agent.sock"