summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorTimo Weingärtner <timo@tiwe.de>2013-07-01 16:20:15 +0200
committerTimo Weingärtner <timo@tiwe.de>2013-07-01 18:16:08 +0200
commitf35640624b3e02bd259533bdf453f55e003ee76b (patch)
treec86019d1542d1e2231b2988888bd7e43fdc95fc0 /README
parentd177c0fc8d08da5af909ce810696541c6ac23750 (diff)
downloadssh-agent-filter-f35640624b3e02bd259533bdf453f55e003ee76b.tar.gz
fix README formatting, rename to README.md
Diffstat (limited to 'README')
-rw-r--r--README48
1 files changed, 0 insertions, 48 deletions
diff --git a/README b/README
deleted file mode 100644
index 9814650..0000000
--- a/README
+++ /dev/null
@@ -1,48 +0,0 @@
-ssh-agent-filter
-================
-
-
-the problem we want to solve
-----------------------------
-
-ssh(1) describes the problem:
-> Agent forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the agent's UNIX-domain socket) can access the local agent through the forwarded connection. An attacker cannot obtain key material from the agent, however they can perform operations on the keys that enable them to authenticate using the identities loaded into the agent.
-
-
-our solution
-------------
-
-1. create one key(pair) for each realm you connect to
-2. load keys into your ssh-agent as usual
-3. use ssh-agent-filter to allow only the key(s) you need
-
-afssh (agent filtered ssh) can wrap ssh-agent-filter and ssh for you:
- $ afssh -c id_example -- example.com
-starts an `ssh-agent-filter -c id_example`, runs `ssh -A example.com` and kills the ssh-agent-filter afterwards.
-If you leave out the options before the `--`:
- $ afssh -- example.com
-it will ask you via whiptail or dialog which keys you want to have forwarded.
-
-
-how it works
-------------
-
-ssh-agent-filter provides a socket interface identical to that of a normal ssh-agent.
-We don't keep private key material, but delegate requests to the upstream ssh-agent after checking if the key is allowed.
-
-The following requests are implemented:
-* SSH2_AGENTC_REQUEST_IDENTITIES:
- * asks for a list of SSH 2 keys
- * the upstream ssh-agent is asked for that list and the result is filtered
-* SSH2_AGENTC_SIGN_REQUEST:
- * asks for a signature on some data to be made with a key
- * if the key is allowed the request is forwarded to the upstream ssh-agent and the result returned
- * else failure is returned
-* SSH_AGENTC_REQUEST_RSA_IDENTITIES:
- * asks for a list of SSH 1 keys
- * an empty list is returned
-* SSH_AGENTC_REMOVE_ALL_RSA_IDENTITIES:
- * asks for removal of all SSH 1 keys
- * success is returned without doing anything
-
-Requests to add or remove keys and to (un)lock the agent are refused