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>.