Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 66 lines (37 sloc) 2.499 kB
4c63145 @dpritchett
dpritchett authored
1 Intro
2 -----
3 **Charade** is an ssh-agent in [cygwin](http://www.cygwin.com/) that proxies requests to [pageant](http://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter9.html#pageant).
8c582ec @dpritchett added a README.md
dpritchett authored
4
4c2729f @dpritchett more markdown
dpritchett authored
5 If you don't use cygwin or pageant, you don't need charade. If you're happy with plink, you don't need charade. (I love putty, but I prefer openssh to plink.)
8c582ec @dpritchett added a README.md
dpritchett authored
6
251a260 @dpritchett
dpritchett authored
7 **Background:** I tolerate Windows XP. I actually quite like it. But it needs putty, and it needs cygwin to be usable. I used to maintain two separate sets of ssh keys: one for putty, which I kept in pageant, and another for cygwin's openssh, which I kept in ssh-agent/keychain.
8c582ec @dpritchett added a README.md
dpritchett authored
8
9 Eventually I got fed up maintaining two key pairs and charade was born.
10
4c2729f @dpritchett more markdown
dpritchett authored
11 Charade just pretends to be ssh-agent on one side and putty on the other. It's a shim between openssh and pageant.
8c582ec @dpritchett added a README.md
dpritchett authored
12
4c2729f @dpritchett more markdown
dpritchett authored
13 It aspires to be a drop-in replacement for ssh-agent, and that's how I use it atm. It works for me. It probably won't work for you.
8c582ec @dpritchett added a README.md
dpritchett authored
14
7cff8c6 @dpritchett
dpritchett authored
15 I stole large swaths of code from (i) Simon Tatham's putty (mostly [putty-src/windows/winpgntc.c](http://svn.tartarus.org/sgt/putty/)) and (ii) openssh's (and Tatu Ylonen's and Marcus Friedl's) ssh-agent.c.
8c582ec @dpritchett added a README.md
dpritchett authored
16
7bd3088 @wesleyd Add link to cuviper's ssh-pageant
authored
17 Also check out [cuviper's ssh-pageant](http://github.com/cuviper/ssh-pageant), which does something similar.
18
997e284 @wesleyd Add a wee note mentioning Russell Davis' blog post.
authored
19 Russell Davis has a clever way of [setting environment variables at boot](http://russelldavis.blogspot.com/2011/02/using-charade-to-proxy-cygwin-ssh-agent.html) so that processes launched outside your shells can also use your ssh keys.
20
9c3aaea @dpritchett added package list and some markdown
dpritchett authored
21 Required cygwin packages
22 ------------------------
251a260 @dpritchett
dpritchett authored
23 * `gcc-g++`
24 * `make`
25 * `keychain`
26 * `openssh`
9a390c4 @wesleyd Remove original README, keep markdown README.md.
authored
27 * `psmisc`
9c3aaea @dpritchett added package list and some markdown
dpritchett authored
28
85fb2bf @dpritchett
dpritchett authored
29 Installation instructions
30 -------------------------
8c582ec @dpritchett added a README.md
dpritchett authored
31
a92c7ea @dpritchett
dpritchett authored
32 1. Clone the repository
26c7193 @dpritchett
dpritchett authored
33
34 git clone git://github.com/wesleyd/charade.git
854fd2b @dpritchett massaging markdown
dpritchett authored
35
a92c7ea @dpritchett
dpritchett authored
36 2. Build and install charade
9206227 @dpritchett
dpritchett authored
37
38 make && make install
854fd2b @dpritchett massaging markdown
dpritchett authored
39
a92c7ea @dpritchett
dpritchett authored
40 3. Stop running charade or ssh-agent processes
9206227 @dpritchett
dpritchett authored
41
42 killall charade # Only if upgrading
43
44 killall ssh-agent # Only if not upgrading
854fd2b @dpritchett massaging markdown
dpritchett authored
45
a92c7ea @dpritchett
dpritchett authored
46 4. Remove existing keychain files to clear references to ssh-agent
854fd2b @dpritchett massaging markdown
dpritchett authored
47
9206227 @dpritchett
dpritchett authored
48 rm -rf ~/.keychain
49
50
a92c7ea @dpritchett
dpritchett authored
51 5. Add these two lines to ~/.bash_profile:
85fb2bf @dpritchett
dpritchett authored
52
53 keychain -q -Q
54
9862e04 @vStone Correct path to the keychain/hostname-sh file.
vStone authored
55 . ~/.keychain/`hostname`-sh
9206227 @dpritchett
dpritchett authored
56
a92c7ea @dpritchett
dpritchett authored
57 6. Logout, launch a new shell or putty and try it out
9206227 @dpritchett
dpritchett authored
58
85fb2bf @dpritchett
dpritchett authored
59 ssh git@github.com
854fd2b @dpritchett massaging markdown
dpritchett authored
60
61 If you have a key in pageant, you should be able to go where it points.
8c582ec @dpritchett added a README.md
dpritchett authored
62
4c2729f @dpritchett more markdown
dpritchett authored
63 It just forwards ssh messages, so surprising (to me!) things Just Work, like adding keys with ssh-add instead of through the pageant gui.
8c582ec @dpritchett added a README.md
dpritchett authored
64
65 Wesley Darlington, December 2009.
Something went wrong with that request. Please try again.