Assh is an anonymous ssh client for GNU/Linux and Mac OS X. It use proxies to get connected on remote ssh servers. It has been made under GPL licence and use a Corckscrew module.

Last version is Assh v2.1 (Download), please report bugs and comments.



   $ cat assh/README
   [Introduction]

      Assh establishes anonymous connection to ssh servers, using free 
   proxies. It can be usefull for:

      * People who work on restricted network, I mean behind a firewall that
      does not allow remote connection to destination port 22 over Internet.  

      * People who wants to keep anonymity when they get connected on public
      ssh servers.

      This project has been made for educational purposes only... and it is
   sad to know that this tools will also be usefull for script kiddies, 
   blacklisted and IRC banned persons, intrusion anonymity, etc.


   [Installation]

   Download the lasted version from http://assh.sf.net.

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

   And as root user:
   # make install


   [Usage]

      Summary
      -------
         Create a file list.txt that contains "proxy_ip:port" per line (ex:
      you can paste proxy list from http://tools.rosinstrument.com/proxy).

         Initialize assh with (initialization mode will be explained below): 
            $ assh -i -f list.txt Test_server_hostname 22

         Now you are able to get connected to SSH servers by remaining 
      anonymous (connection mode will also be explained below):
            $ assh -4x ssh_server.com

      Initialization mode
      -------------------
         Initialization mode is used to generate a list of working proxies
      (proxies that allow ssl to make ssh connection) in the user home
      directory (default configuration path is ~/.assh). For this assh needs
      a list of ip address and port in order to check them (see below).

      If you type: $ assh -i hostname
      Assh will retrieve a list of couples ip_adress:port from Internet, and
      to be more precise from the url specified in the config.h (variable
      PROXY_URL). Then it will check every couples and save the ones that
      allow ssl communication.

      If you have your own couples ip_address:port stored in a file, you can
      ask assh to check those proxies (instead of getting a proxy list from
      Internet) by typing: $ assh -i -f your_own_proxy_file.txt hostname

      Note the "hostname" in argument, in fact, initialization mode needs a
      SSH server to try connect to. It can be your own ip address if sshd is
      running on your box. To preserve anonymity and discretion this may not
      be the ssh server you want to get connected to.

      Note: To fill your_own_proxy_file.txt, you can manualy find a lot of
      proxy adresses on the website: "http://tools.rosinstrument.com/proxy".
      This file must respect a specific format, one couple "ip_address:port"
      per line.

      Connection mode
      ---------------
      Connection to remote host can be done by using basic OpenSSH options,
      the unique difference is that assh will transparently use a SSL proxy
      randomly choosen from the proxies list previoulsy generated in
      initialization mode.
      Example: $ assh -4x -p2222 host.domain.com

      Note: Is you want to pass a "-o" parameters, remind that the character 
      '"' must be replaced by \". 
      For example, the ssh command: 
          $ ssh -4 -o "StrictHostKeyChecking no" remote.hostname.com
      will become for Assh:
          $ assh -4 -o \"StrictHostKeyChecking no\" remote.hostname.com


   [Comments]

      Send comments or bugs to <jlzz@users.sourceforge.net>; or
   <lorenzzz@users.sourceforge.net>.