[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: EShell tips on SSH?
From: |
Wenshan Ren |
Subject: |
Re: EShell tips on SSH? |
Date: |
Tue, 15 Jan 2013 15:09:43 -0800 (PST) |
User-agent: |
G2/1.0 |
On Tuesday, January 15, 2013 6:32:34 PM UTC+11, Bob Proulx wrote:
> Wenshan Ren wrote:
>
> > I manage a few VMs via SSH. As an Emacs user, I'm considering to get
>
> > everything done without leaving Emacs.
>
>
>
> Sure.
>
>
>
> > So far I've met two problems:
>
> >
>
> > 1. ssh -A
>
> > ssh -A does agent forwarding, but I can't find the EShell
>
> > equivalent by searching the Emacs Info.
>
>
>
> How are you invoking ssh?
>
>
>
> My first thought is the use of the emacs "tramp" module. This is
>
> quite well documented and very useful. If you are using tramp please
>
> say so. If you are not using tramp then look up the documentation and
>
> read up on tramp. You will like it.
>
>
>
> > How do you achieve the same effect of ssh -A in Emacs?
>
>
>
> I don't recommend to forward your agent. If you do forward your agent
>
> only forward it to systems that you trust. Because root on the remote
>
> system can make use of your forwarded agent.
>
>
>
> If you do want to forward your agent anyway I would set it up to do so
>
> in your ssh configuration file. That would avoid the need for a
>
> command line option. Then when Emacs and Tramp use ssh it will get
>
> the agent forwarding because of the ssh configuration. Something like
>
> this usually in your $HOME/.ssh/config file:
>
>
>
> Host foo.example.com
>
> ForwardAgent yes
>
>
>
> If you do this then your ssh-agent will be forwarded through tramp
>
> shell and tramp eshell sessions. I tested this just now and it worked
>
> okay for me.
>
>
>
Yes, I invoke ssh using tramp so I can edit files on remote machines with my
beloved and well configured editor.
Putting FowardAgent yes in ~/.ssh/config works :)
> > 2. cd /
>
> > After `cd /ssh:username@host', `cd /' will change directory to /
>
> > of my local machine. Is there any way to make EShell behave like
>
> > a ordinary bash sshed to a remote machine?
>
>
>
> I think the idea for "cd" in eshell is that "/ssh:username@host" is
>
> just a directory path like any other. Therefore "cd /" will also be a
>
> path like any other. It isn't special. It isn't a chroot.
>
>
>
> Even if you use "shell" (instead of "eshell") you are still inside
>
> emacs. I note that with shell doing "cd /" will stay on the remote
>
> machine and won't crawl out of the facade. I am not arguing against
>
> eshell. But just sayhing that shell implements this feature as you
>
> wish it. If you use shell then you will be ssh'd into the machine and
>
> cd / will take you to the root of the remote machine as you desire.
>
>
Got it, I will raise a change request as Michael suggested.
>
> Bob
Thank you very much, Bob.
- Wenshan