What about using ssh from public internet access points at libraries or cafés?
Most people realise that using telnet isnt a great idea when trying to connect two untrusted machines over an insecure network, so they use ssh to protect the communication channel between the two hosts, but what about the communication channel between user and host?
Did you audit and compile that ssh client at work yourself? Are you sure the guys from IT havnt installed some key logging software, or tampered with your keyboard? You cant be certain someone isnt harvesting passwords before ssh even has a chance to do its stuff.
There is a solution to this, OTP (one time password) authentication. The idea with OTP authentication is this, when you are using a trusted communication channel (sitting at your own machine, or logged in over ssh from a secure system) you generate yourself a list of single use passwords, for use when you are using an untrusted machine. Once you have used an OTP, it is immediately void, it can never be used again, if someone were to steal it, it would be completely useless.
If you were to login using someones trojaned ssh client, OTP can help minimise the damage, although someone may still be able to see your session (probably not that much use), they will not be able to compromise your account.
As far as I am aware, Gentoo is the only Linux distribution that officially supports S/Key authentication, which is utilised by some of the BSDs. Here is a brief introduction to using S/Key OTP authentication on Gentoo:
First, you must install openssh with S/Key support by setting the skey USE flag, (please use the version from ~x86 if possible, I'd like to get some updates marked stable and would appreciate any testing!)
Code: Select all
# emerge -pv openssh
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] net-misc/openssh-3.7.1_p2-r1 -ipv6 -static -pam -tcpd -kerberos +skey -selinux -X509Code: Select all
$ skeyinit
Password:
[Adding taviso]
Reminder - Only use this method if you are directly connected
or have an encrypted channel. If you are using telnet
or rlogin, exit with no password and use skeyinit -s.
Enter secret password:
Again secret password:
ID taviso skey is otp-md4 99 inso77154
Next login password: RAP MEMO DOOR MAYO NILE TOThis is how to generate 5 passwords, you can get the challenge to generate your S/Keys using the skeyinfo program.
Code: Select all
$ skeyinfo
Your next otp-md4 98 inso77154
$ skey -n5 98 inso77154
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password:
94: SEAR BARE IFFY OUTS LACE OHIO
95: GATE SOY TOW YES BULB JIVE
96: ANY JURY ERIC HARK LINE CAME
97: REAR HEWN SHIN YARN DINT GREW
98: BRAD PEA AMRA EDNA NAIL LIONCode: Select all
$ ssh insomniac
otp-md4 98 inso77154
S/Key Password:
Last login: Wed Nov 5 21:07:06 2003 from amnesiacS/Key is a cool way of using ssh from insecure or untrusted machines, if thats something you do regularly, give it a try
You can let us know about any problems via http://bugs.gentoo.org/
Most ssh clients, including putty, openssh and ssh.com support S/Key passwords.




