Режим Tramp в emacs с использованием конфигурации ssh - PullRequest
12 голосов
/ 28 марта 2012

Я думаю, что это очень простой вопрос при использовании tramp, но он не работает для меня. У меня есть файл ~ / .ssh / config, который указывает на мою машину amazon ec2

Host amazon
   Hostname xxxx.amazonaws.com
   Port yyy
   User me
   IdentityFile ~/.ssh/ubuntu
   ForwardAgent yes

Я могу легко сделать ssh amazon из моего терминала и перейти на amazon ec2 (так что мой конфиг правильный), но в emacs Я делаю:

C-x C-f /ssh1:amazon:

Я всегда получаю эту ошибку В Aquamacs:

Process *tramp/ssh1 amz* exited abnormally with code 255

В Emacs:

tramp: Opening connection at amz using ssh1...
tramp: Waiting for prompts from remote shell
tramp: Waiting 60s for prompt from remote shell
tramp-process-actions: Login failed

У меня также есть другие конфигурации ssh, которые они используют для моих виртуальных ящиков на моей локальной машине, и у них та же проблема.

Я действительно ценю любую помощь.

Ответы [ 3 ]

28 голосов
/ 28 июня 2012

Одна вещь, которую стоит попробовать, это использовать метод соединения sshx. Это заставляет tramp избегать нестандартных настроек оболочки на удаленном хосте.

Как это:

C-x C-f /sshx:amazon:
8 голосов
/ 28 марта 2012

Метод tramp ssh1 заставляет ssh работать в режиме протокола ssh v1 с параметром -1. ssh v1 имеет известные недостатки и небезопасен. Поэтому многие сайты отключают протокол ssh v1.

Вы можете проверить это из оболочки с помощью ssh -1 me@xxxx.amazonaws.com.

Попробуйте другие способы подключения бродяги, такие как ssh, sftp или scpx. Вы можете увидеть все предварительно настроенные способы подключения с помощью C-h v tramp-methods.

6 голосов
/ 28 марта 2012

Если ответ Морица Банкуса не решает проблему, вы можете настроить многословность вывода tramp с помощью
М-х customize-variable RET tramp-verbose RET

В частности, уровень 6 - это «отправленные и полученные строки», которые могут помочь вам определить, является ли «Ожидание приглашений от удаленной оболочки», потому что он не получает шаблон приглашения, который он распознает, или из-за некоторых критический сбой.

Если он просто получает приглашение, которое он не распознает, вы можете посмотреть на настройку переменных tramp-login-prompt-regexp или tramp-shell-prompt-pattern.

(Конечно, если ваш ssh-агент работает правильно, запросы на вход в систему не должны быть релевантными.)

Если вы работаете с Emacs в Windows, посмотрите также эти вопросы и ответы:

...