Matilda
Matilda

Reputation: 1718

Tramp mode in emacs using ssh config

I think this is very basic question in using tramp, but it doesn't work for me. I have my ~/.ssh/config file that points to my amazon ec2 machine

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

I can easily do ssh amazon from my terminal and I go to amazon ec2 (so my config is right), but in emacs I do:

C-x C-f /ssh1:amazon:

I always get this error In Aquamacs:

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

In 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

I also have other ssh configurations that they ssh to my virtual boxes on my local machine and they have the same problem.

I really appreciate any help.

Upvotes: 19

Views: 13513

Answers (3)

legoscia
legoscia

Reputation: 41648

One thing that's worth trying is using the sshx connection method. That makes tramp try to avoid any non-standard shell configuration on the remote host.

Like this:

C-x C-f /sshx:amazon:

Upvotes: 46

phils
phils

Reputation: 73355

If Moritz Bunkus's answer doesn't solve the issue, then you can configure the verbosity of tramp's output with
M-x customize-variable RET tramp-verbose RET

In particular, level 6 is "sent and received strings" which might help you to determine whether the "Waiting for prompts from remote shell" is because it isn't receiving a prompt pattern that it recognises, or because of some more critical failure.

If it's simply receiving a prompt it doesn't recognise, then you might look at customizing the tramp-login-prompt-regexp or tramp-shell-prompt-pattern variables.

(Of course if your ssh agent is working correctly, then login prompts shouldn't be relevant.)

If you're running Emacs in Windows, then also see these Q&As:

Upvotes: 6

user507077
user507077

Reputation:

The tramp method ssh1 forces ssh to be run in ssh v1 protocol mode with the parameter -1. ssh v1 has known weaknesses and is insecure. Hence a lot of sites disable the ssh v1 protocol.

You can verify this from the shell with ssh -1 [email protected].

Try other tramp connection methods like ssh, sftp or scpx. You can see all pre-configured connection methods with C-h v tramp-methods.

Upvotes: 10

Related Questions