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