Assh banner


This tarball compiles under Linux and Mac OS X.

version 2.3 (2010/07/09): assh-2.3.tgz (patch)
version 2.2 (2010/04/01): assh-2.2.tgz


Assh (Anonymous Secure SHell) is a ssh client which uses SSL proxies to establish anonymous connections. This tool can be usefull for people who want to keep anonymity when they connect to public servers or, for people who work on restricted LAN networks that do not authorize connection to destination port tcp/22 (for example, behind a firewall). See README included in the tarball file for further details.

The Anonymous Secure SHell program has been made under GPL licence and use a Corckscrew module.


Download the last version from

   $ gzip -dc assh-<version>.tgz | tar xf - ; cd assh-<version>
   $ make

Once compiled, to copy both assh and corkscrew binary files into /usr/bin/, type "make install" as root user.


Before connecting to ssh servers, you will need to make Assh retrieve and build a list of working SSL proxies, this is called the initialization mode ("-i" option). After this step, you will be able to connect servers anonymously by using common OpenSSH options, this is called the connection mode. Those two modes are described bellow:

Initialization mode

To generate a list of working proxies, assh will parse this web page and try a CONNECT resquest on each proxies. On request success, proxy's ip and port will be stored in a configuration file (~/.assh/proxy.lst). For example, if you type:

   $ assh -i hostname

Assh parses proxies from a list retrieved from Internet, check them with a CONNECT hostname:22 request and store the proxies that authorize such request.

If you already have your own proxies informations stored in a file ( "ip_address:port" per line), you can tell assh to check this list better than parsing the default url as above. This can be done by typing:

   $ assh -i -f your_own_proxy_file.txt hostname

To fill the file "your_own_proxy_file.txt", you can manualy copy a lot of proxy informations from this link and then paste them into your file. Keep in mind that this file must respect a specific format, one couple "ip_address:port" per line. The required "hostname" argument must be a server that run sshd and it is not necessary that you have a shell account on it. It is only used in CONNECT requests during proxies checking. So it can be your own ip address or any server on Internet that provides sshd service. But to preserve anonymity, this must not be the ssh server you want to connect to !

Connection mode

Anonymous connection to sshd servers can be done by using common OpenSSH options. The difference is that assh will transparently use a SSL proxy randomly choosen from your proxies configuration file (previoulsy generated during initialization mode).

For example, to get connected anonymously on, where sshd service is listening on port 2222, use:

   $ assh -4x -p2222

Note: If you want to pass a "-o" parameters, remind that the double quotes character (") must be replaced by \" in Assh.

For example, the ssh command:

   $ ssh -4 -o "StrictHostKeyChecking no"

will become for Assh:

   $ assh -4 -o \"StrictHostKeyChecking no\"


Feel free to send any comments or bugs to authors: vladz <> and Lorenzzz < >

Last updated: 2010/07/09
Valid HTML 4.0