Для меня Tramp 2.1.19-pre с аутентификацией zsh и SSH kye работает с использованием
(setq tramp-shell-prompt-pattern "^[^$>\n]*[#$%>] *\\(\[[0-9;]*[a-zA-Z] *\\)*")
в моем ~ / .emacs
У меня проблема с tramp против определенного хоста, когда я использую ssh-ключи для аутентификации. Он отлично работает, когда я не использую аутентификацию по ssh-ключу, но я хотел бы запретить ввод пароля все время.
Не знаю, связано ли это, но я использую zsh для оболочки.
Я следовал обоим советам установки tramp-chunksize в 500 и добавления следующего кода в .zshrc:
if [[ "$TERM" == "dumb" ]] then unsetopt zle unsetopt prompt_cr unsetopt prompt_subst unfunction precmd unfunction preexec PS1='$ ' fi
Но это не работает, и все еще висит с сообщением Tramp: Ожидание подсказок от удаленной оболочки
Любые идеи о том, как предотвратить эту надоедливую проблему? Благодарю.
Для меня Tramp 2.1.19-pre с аутентификацией zsh и SSH kye работает с использованием
(setq tramp-shell-prompt-pattern "^[^$>\n]*[#$%>] *\\(\[[0-9;]*[a-zA-Z] *\\)*")
в моем ~ / .emacs
Я не понимаю, как ваша удаленная оболочка может быть проблемой, если tramp работает с аутентификацией по паролю, а не с аутентификацией по ключу
Возможное объяснение состоит в том, ssh
что ваш ssh-агент не виден, когда вы запускаете его из Emacs. Можете ли вы войти на удаленный компьютер, используя свой ключ ssh
из буфера M-x shell
или M-x term
? Если ваш ключ имеет парольную фразу, ssh
необходимо каким-то образом получить расшифрованный ключ. Он может подсказать вам напрямую (но я не уверен, что tramp пропустит подсказку ключа), или он может запустить внешнюю программу, запрашивающую ключ (для этого требуется установить переменную окружения SSH_ASKPASS
), или он может получить ключ от вашего агента ssh (для этого требуется установить переменную окружения SSH_AUTH_SOCK
). Ваша проблема может заключаться в том, что вы не устанавливаете SSH_ASKPASS
или не SSH_AUTH_SOCK
в нужном месте, так что это не определено в вашем сеансе Emacs.
На вопрос был дан ответ, но для людей, которые наткнулись на это, не забудьте проверить, может ли ваша оболочка запрашивать какой-либо ввод пользователя, прежде чем представлять оболочку. Например, oh-my-zsh проверяет наличие обновлений и запрашивает подтверждение перед их установкой при запуске оболочки. Это заставит tramp бесконечно ждать приглашения, поэтому убедитесь, что вход в систему проходит гладко, когда вы ssh, прежде чем спуститься в кроличью нору tramp.