views:

596

answers:

5

I'm using emacs tramp mode to remotely edit files over ssh. The problem is that every time I save the file I'm editing I have to enter my user password. I find that very annoying. How can I write my password only once / editing session?

+5  A: 

Ah, from the tramp docs on password caching you can set:

(setq password-cache-expiry nil)

which requires the package password-cache.el.

Also, in the tramp sources, it mentions reading the ssh-agent(1) man page, which shows how to set it up so that you don't have to re-enter passwords (inside, or outside of Emacs):

There are two main ways to get an agent set up: The first is that the agent starts a new subcommand into which some environment variables are exported, eg ssh-agent xterm &. The second is that the agent prints the needed shell commands (either sh(1) or csh(1) syntax can be generated) which can be evalled in the calling shell, eg eval ssh-agent -s for Bourne-type shells such as sh(1) or ksh(1) and eval ssh-agent -c for csh(1) and derivatives.

Trey Jackson
The package name is `package-cache`.
Török Gábor
(belated) Credit to Török for the package name.
Trey Jackson
+1  A: 
(setq password-cache-expiry nil)
dfa
Should this go into my .emacs file?
Jonas
yes, right after (require 'tramp)
dfa
+1  A: 

In addition to Trey Jackson's solution, there are a few more ways you can choose:

Török Gábor
A: 

use SSH public key authentication.

Hamza Yerlikaya
A: 

Using public key (RSA) authentication is more secure and much more convenient. On a GNU/Linux system (and maybe others, I don't know) you typically would unlock your private key once per login session with a password and then use it.

Borbus