If you’re googling for this, you already know the problems, but just as a refresher:
- it’s a java applet.
- The java applet asks for permission to write to your filesystem, then asks for your root password, then dumps a setuid program in your ~/.juniper_networks directory. (Side note: I usually mount my home directory nosuid,nodev. Guess that won’t work here…)
- It then tries to run another java program that uses a 32 bit shared library. Guess how well that works on a 64 bit jvm?
If you’re not doing two factor auth, just give up on the java/browser UI now and go into ~/.juniper-networks/network_connect, dump the SSL cert for your https server into a .der encoded file (there are instructions elsewhere on the internet on how to do this, I’m not going to copy and paste ‘em), and run the command line client. It’ll just hang (technically, ‘read from stdin’) if you don’t pass any args, so run ./ncsvc -h and figure it out).
If you are using two factor auth… bad news. Not supported via the command line at all currently.. And if you know me, you know how sad that makes me. So, you’re stuck with trying to get a 32 bit jvm running. Easiest way to do that?
- Download 32 bit Opera for your flavor of linux, but as a .tgz.
- Install util-linux (or whatever your flavor of linux bundles the setarch command in) and ia32-libs (or again your flavor may vary).
- Install a 32 bit jvm (ia32-sun-java6-bin on Ubuntu).
- Run linux32 ./opera from the opera directory and point java preferences (tools – preferences – advanced – content) to that jvm (again, /usr/lib/jvm/ia32-jvaa-6-sun/jre/lib/i386 un Ubuntu), and make sure you enable java on that page.
- If all of that works, you should go to this test applet and see that your platform is i386. If it is, it’ll probably work.
You know, unless you mount your homedir nosuid.