Подтвердить что ты не робот

Режим Tramp в emacs с использованием конфигурации ssh

Я думаю, что это очень простой вопрос в использовании 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, которые они ssh для моих виртуальных ящиков на моей локальной машине, и у них такая же проблема.

Я очень ценю любую помощь.

4b9b3361

Ответ 1

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

Вот так:

C-x C-f /sshx:amazon:

Ответ 2

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

Вы можете проверить это из оболочки с помощью ssh -1 [email protected].

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

Ответ 3

Если ответ Moritz Bunkus не решает проблему, вы можете настроить многословие вывода tramp с помощью M-x customize-variable RET tramp-verbose RET

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

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

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

Если вы запускаете Emacs в Windows, то также смотрите эти Q & As: