Is it possible to have zsh+keychain+tmux not ask for keys?

4

1

I'm using tmux and zsh, and I've recently been learning about ssh-agent and keychain. From the manpage for zsh, it says that it will source .zlogin only if the shell is, well, a login shell.

Following advice I read, I stuck keychain --clear in my .zlogin, which worked perfectly. When I logged into the box I had to unlock my key. However, each time I create a new window in tmux, it clears/makes me re-add my key. This is a little annoying... but I can understand it if, in fact, each new tmux window is a login window.

I haven't been able to find much help outside of the manpages on this topic. So is each new tmux window a login shell, or is there any way that I can make it not clear my keys only when I create a tmux window?

Wayne Werner

Posted 2012-10-10T21:40:03.627

Reputation: 1 501

Are you primarily concerned only about the ssh passphrase? – Keith – 2012-10-10T21:46:53.323

Well, obviously (I hope) I don't want to just have empty passphrases on my ssh, but yes - I would just like it to keep my ssh keys loaded unless I am, in fact, logging in again (either through ssh or tty, or through X, I suppose) – Wayne Werner – 2012-10-10T21:50:42.463

Answers

2

Each new window is a login shell. You can change this by setting the value of default-command in your .tmux.conf file:

set-option default-command zsh

By default, it creates a login shell of whatever value is set using the default-shell option (whose own default comes from your SHELL environment variable, presumably /bin/zsh or similar, based on your question).

The default behavior is as if you had the following line in your .tmux.conf:

set-option default-command "zsh --login"

(At least, I think that's how you can explicitly start a login shell with zsh.)

chepner

Posted 2012-10-10T21:40:03.627

Reputation: 5 645

Works perfectly! (At least, it doesn't ask for my password, which as far as I've read means it's doing what I want ;) – Wayne Werner – 2012-10-11T22:10:02.780