Saturday, September 29, 2007

Install Ubuntu 7.04 in VirtualBox

Just do it!! Go get a copy of the iso and use it to install yourself a nice new copy of Ubuntu Linux. This will allow you to get familiar with this mature, stable linux distribution.

I am tempted to call Puppy just something to play around with, not a 'real' OS, but the truth is it is just in its beginning stages. Read the Developer News a few days and you will see just how dedicated puppy's founder and developer is. But if you have been playing with it you have inevitably found it can lead to quite a bit frustration at times, like when the browser crashes every time you try and look at your bank statement. This make Puppy a great learning tool as you are forced to search out and implement fixes, but there are plenty of times when you want something that just works.

That something is Ubuntu. It is based on a very stable linux version called Debian, which is pretty much intuitive and very easy to learn. Chances are you have heard of it. Now get to know it!! In a later blog I will roll out my favorite programs...

Some Good Tools to Have Out Back

As I move towards a dual boot with Ubuntu I have been collecting all my recovery tools together and have found some new ones.
First, check out BartPE, a live CD windows environment that runs off a bootable cd so that you can fix any problem that might pop up. I added the firefox plugin so that I could get on the internet and find help if needed. It's pretty easy to use and I built one right away, saving it to an ISO file first and then using that in a virtual machine to test it out. Very impressive and I am sure it will be very useful.
I have used Hiren's Boot alot, as well, which I got off a torrent site. I always keep a copy of that handy as well.
Burn Puppy to a cd, too. That comes in handy when things go bad.
Finally, I found a very handy little tool called MBRfix (look about halfway down the list). When working with dual boots I have found the biggest problem arises with screwing up the Master Boot Record. It is scary as hell to see that 'no OS found' message come up, but it is really a very simple fix. Hiren's Boot contains this utility, but I downloaded it put it on a floppy, then ran it from the floppy to make a copy of my current MBR. Heres how:
1. Format a floppy and see if your drive still works! If it doesn't, or you don't have one, I am sure it will work off a cd.
2. Download MBRfix and unzip it to the floppy.
3. Open up a Command Prompt and type cd A:\
4. Your floppy should come on as you change to this directory. To make sure the program is there type 'dir' and you should see mbrfix.exe. If not then cd mbrfix to get into the mbrfix directory and type dir to make sure it's there.
5. Now to back up your current MBR type:
mbrfix /drive 0 savembr mbr
where drive 0 (that is a number zero) is the drive your windows os is on and mbr is the name of the file that will be created that contains your MBR
6. Now type dir again and you should see a file titled mbr.

All this is in the directions that comes with the program but I thought I would just demonstrate how easy it is and I was testing to see if it could be run from a floppy. This also demonstrates how easy and useful command line programs can be and why it is a good thing to start to get comfortable with the commandline - which is by coincidence going to be the subject of my next blog!!

Last but certainly not least is DriveImageXML, a new freeware backup utility that I am about to try, which has a plugin for BartPE. Making a full backup proved to be the smartest thing I ever did after my last disastrous attempt at dual booting. I learned a lot from that, though, and I will record all that here.

Got any tools you prefer? Let me know!

Tuesday, September 25, 2007

Basic Networking for Newbies...by a newbie

I thought I would write down my understanding of computer networking since so much of this blog has been and will continue to be about using virtual machines. My basic understanding is built on what I have learned from the manuals and from messing with things and trying to get servers to work to I could communicate with virtual machines from outside. I believe networking is a good thing to get to know because it helps with a basic understanding of firewalls as well. I am not professionally trained so my terminology may be way off and I certainly welcome any comments or suggestions or clarifications.

Each computer has an IP address that is used to identify it on the inter- and intra- net. This IP address is supplied by your service provider. To find it, go to whatsmyip.org and your address will be at the top of the screen. If you want to communicate with your computer from another location then this is the address that you would you use. It's pretty easy, as long as you are using only one computer at your house...

The complication arises when you have more than one computer, or you begin using virtual machines, which present themselves to your computer, or Operating System to be more precise, as a separate entity. As I learned when trying to set up Host Interfacing and give my virtual machine it's own IP address, most people are allowed only one IP address by their provider. This is where networking comes in - network addresses are then used and all information is passed through a single entity, be it a computer or router, to all the other operating systems. Therefore, any network computer has basically two addresses - the outside the network address, which is essentially shared with all the other computers on the network, and the inside the network address, which is unique among all the computers on the network. To find an OS's inside address you just open a console/ command prompt and type ipconfig for windows and ip addr for linux. The result will usually be something like 192.168.X.X. All the computers in the network will share the first three numbers and then be identified by the last three.

Whereas your provider assigns you your outside IP address, your network address is assigned by a server inside the network, through which all internet traffic passes. This server usually resides inside a router, but in the case of virtual machines it can also be a program. It is referred to as a DHCP server, and it provides each computer with an IP address and then routes any information that is specified for a certain address, usually by port forwarding, to the specified OS. Therefore, when communicating with a networked computer from outside the network, you still use the outside IP address (whatsmyip.org) that they all share, and then the information is routed by the router to and from the OS to you.

This is where port forwarding comes in. A port is basically a numbered 'plug' in your OS that is used to communicate with other computers. If you have a server or a piece of software that needs to interact with the outside, then it is assigned a port to which to listen and communicate through. Any incoming information that has that port associated with it will be routed to that port on your OS. Many ports are pre-set, such as port 80, which is preset for browser traffic. In order for your OS, be it the host or virtual, to communicate with the outside world a port has to be opened, and then the DHCP server needs to be told to route all information to and from that port to the specified OS.

Forwarding ports through the router/DHCP server can be done in two ways: Port Range Forwarding, which all router software supports, and Port Forwarding, which more expensive routers support - or third party firmware like DD-WRT. Port Range Forwarding allows you to select either a single port or a range of ports and directly forward them to the specified network OS, ie set 9966 on the router to forward to 9966 on 192.168.x.x. Port forwarding allows you to forward a specific port on the router to a specific, and different, port on the specified OS, ie you can set port 9999 on the router to communicate with port 9966 on 192.168.x.x. The latter makes things easier when setting up ssh servers on different computers because it lets you keep the ssh port, 22, open on the network computer but easily change the outside port in the router.

I'll use the ssh server set up on Puppy Linux as an example. This example assumes a virtual machine set up on a host machine that is connected to an external router which is then connected to the internet modem, ie the external (wireless usually) router is where the DHCP server resides and it provides the network IP addresses and handles the port forwarding. In addition, I assume host interface networking is being used in the virualbox virtual machine, as I described in a previous blog, so that the virtual machine has its own network IP that begins with the same three numbers as the host OS and is uniquely identified by the last number, ie the router sees the virtual machine as a completely separate machine. To communicate with the server you would first obtain your outside ip address at whatsmyip.org. Then, find the server's network ip address by typing ip addr in a console inside Puppy. Access your router, usually at 192.168.1.1, and port forward a designated port to the network address you obtained. If you have to use Port Range Forwarding, then I suggest you change the port that the ssh server listens on from inside Puppy and then forward this from the router, such as 9999. With Port Forwarding you would forward a random port, such as 9999, to port 22 on Puppy (192.168.x.x).

To access the server from a different location, ie outside the network, using an openssh commandline interface, you would type:
ssh 12.34.56.789 -l root -p 9999
where 12.34.56.789 is your outside ip address, root is your username and 9999 is the port that you designated on the router.

Actually, it can be a little different in the case of virtual machines inside a computer connected directly to the internet, ie the cable from the modem connects directly to the computer and the virtual machine software, such as innotek's VirtualBox, acts as a DHCP server by providing IP addresses to the virtual machine and routing information. In this case the host computer to which the cable is connected is essentially the router through which ports are forwarded using the command line technique described in VBox's manual, or whatever is described in a particular machines manual for port forwarding.

Some additional considerations: some internet providers will change your ip address at regular intervals. In order to be able to consistently communicate with your machine you either have to keep checking your outside IP address, or you can use a service like Dynamic DNS, which will assign a domain name to you address and then keep track of any changes. Therefore you can always type in the same written address, like mydomain.dyndns.com, and not be concerned about the changing IP address. Dynamic DNS is an easy, useful, and best of all free service.

Also, when communicating between computers on the same network be sure to use the network address, the 192.168.x.x address, so that the traffic is routed through the router at that speed, rather than leaving the network then coming back in. This is useful when you have music on one machine and want to stream it to another. This sounds basic, but I have seen plenty of 'how to's' for music servers that say to access your 'host' computer by using the outside the network address. This ability to communicate between computers within a network is another reason to choose host interface networking when possible, ie when you have an external router handling your internet traffic.

Networking can be further complicated by firewalls, which is outside the scope of this post, so if you are having troubles turn your firewall off and see if that is the source of the problem. Just don't forget to turn it right back on!!

Happy networking!!

Thursday, September 20, 2007

SSH SERVER FOR VNC AND BYPASSING FIREWALLS WITH PUPPY 215CE

Now that I have installed puppy in VirtualBox and downloaded and installed some packages it is time to put Puppy to work. This blog will describe setting up the ssh server downloaded in the previous blog and then its actual use will be the same as described in this blog, where Puppy will replace DDWRT as the source of the server.

NETWORKING STRATEGIES

Ha Ha that sounds so academic. To be honest I am a complete newb at networking and a large part of the impetus for writing this blog is documenting the results of what works for me after hours of tinkering.

If you have a computer that directly connects to the internet, ie the connection cable goes from the modem to your computer, then I suggest you get a router. If not, then stay with the NAT networking option and familiarize yourself with the NAT networking and port fowarding sections of the VBox user manual. Truthfully, VMware Workstation is much easier in this respect, but then getting used to using the command line to get things done is not a bad thing either. Working from the command line is a great thing when doing any kind of remote connections, and I am using it more and more.

If you have a router like I do then you need to enable Host Interface Networking so that Puppy will get its own network address to which you can port forward to in order to connect to the SSH server. Logout and poweroff puppy then go to the network settings tab and click on the add host interface button:



Click ok and VBox will add a virtual network card named whatever name you gave it. Go to Start->Control Panel->Network Connections and you should see it there. You will probably get an icon in your taskbar indicating an unconnected network device. This actually stayed whether puppy was running or not, and the way I got rid of it was to right click the connection, enter the Properties menu, Configure, then the Advanced tab and hilight Media Status and choose Always Connected.

Now the part that was a little scary for me but it worked out fine and was easily reversible if needed: bridging the connection between your new Host Interface and your physical LAN connection. For me, the host interface alone did not produce a working connection. Puppy detected the network as alive but was never able to get a network IP address. In order for puppy to communicate with the router the connection had to be bridged. I also tried the 1394 adapter, but only the bridge with the physical Local Area Connection worked, and indeed in the User Manual it states you must bridge the connection with the physical adapter.

So, I would suggest making two or three Host Interface Connections for bridging, since only 1 adapter can by used per machine. Next, press the Ctrl button while hilighting the Local Area Connection and the Host Interface Connections. Then go to the Advanced tab and choose bridge connections:



XP will create a bridge and the result should look something like this:



NOTE: THE HOST COMPUTER WILL NOW HAVE A NEW NETWORK IP ADDRESS! Previously it was probably 192.168.1.100, however now that it is bridged your router will assign it a new address, so change all your port fowarding settings as needed. To see what your network address is in XP open the command window and type ipconfig. All your network addresses will show, the Network Bridge is your host IP that you would forward to. In puppy, or any linux, open a console and type ip addr to find your network IP. Make a note of this because you will need it later.

INSTALL SSH SERVER IN PUPPY 215CE

Now start puppy up (remember to remount the OS iso if needed) and choose connections on the desktop. Choose connect to the internet->eth0->AutoDHCP and you should be good to go! Check for your new network IP address and write it down.

Now, mount the iso with all your programs on it and choose the sshd-sftp.pup. Follow all the prompts and choose the defaults. Next open a console (Right hand side of the desktop). Type:
passwd
and enter a password for the username, which is root by default. I always have to do this twice! The first time I get a segmentation fault and then the second time it goes through. This is the password you will need to sign into the ssh server.

Now, go to Menu->File System->Rox and from there press the up button til you get to the top level directory. Now click (only once) usr->etc and you are in the /usr/etc directory (I will use this convention from now on). Right click->Window->choose Terminal here and type
./sshd.sh
'./'(period slash) is unix for 'run this executable', like double clicking an .exe. The sshd.sh program will create several new files in this folder. You will get a window telling you you have to create a password, which you have done. When it is finished close the console and open a new one. Type
/usr/sbin/sshd
and your ssh server will be activated!!

To test it, type
ssh localhost -l root
and you should get a password prompt. Enter your password and it the resulting '#' type
logout
or
exit
Now, open your router access and port forward a random port to port 22 of the puppy machine. If you cannot do this, then let me know and I will tell you how to edit sshd_config so that your server will listen at a different port. DO NOT OPEN UP PORT 22 ON YOUR ROUTER OR HOST! This is a common place so called 'script kiddies' scan in order to find vulnerable computers. To test it open the console and type
ssh your_ip -p your_port -l root
where 'your_ip' is your OUTSIDE address, as seen with whatsmyip.org, and 'you_port' is the port # you chose earlier. You should get a message about being sure you have contacted the right address. Choose yes then you should be prompted for a password and then a '#' prompt. Again, type logout and feel good about setting up your shine new ssh server!!

Now you can use your new server to communicate with puppy from outside, or better yet as a proxy server which allows you to bypass firewalls and local servers. Just follow the directions from this previous blog and you should be rockin'!! Next I will describe how to VNC over SSH so that you can securely control Puppy from a remote computer. Now the fun really begins!!

Wednesday, September 19, 2007

Dressing Puppy 215CE Up

Now that Puppy linux is installed and ready to go it is time to 'customize' it by adding packages. These come in all different forms. I download all my puppy related packages to my host OS first into a puppy files directory for safekeeping, and then load them into puppy from there.

The first I add are sfs packages, which integrate several different programs into the OS at once at a root level. Go here and scroll down to the section titled ".SFS EXPANSION PACKS" and devx_215.sfs, and web_215.sfs. You can also get Ooo_215.sfs, which contains the full open office suite, and pgs_215.sfs which has a lot of great graphics programs like Gimp. The devx package is used for compiling programs, which I don't know much about but you need it to install some stuff later. The web package contains firefox and vncserver, which we will use later.

Next go here and download the sfs installer. Bookmark the forum mainpage because this is where all your questions can be answered!! Next go here for your ssh server. DOWNLOAD THE PACKAGE AT THE END OF THE THREAD-TITLED SSHD-SFTP.PUP- NOT THE FIRST ONE. We will use this later to set up an ssh server for use like I describe in a previous blog.

You may notice that you have trouble seeing video in the Flashplayer 9 format, especially with firefox. To correct this go here and download the Flash9.pup. Look through this site and the parent directories for anything else you might find interesting. Be aware there are several flash9 fixes, but the one above is the one that worked for me on Puppy 215CE.

There are several methods for getting these files into puppy. The easiest and most reliable I have found is making an .iso file from the above files and then mounting this file in puppy as a cd. A great program for making an iso is CDBURNERXP PRO. It is a great little piece of freeware. I believe AlZip will make an iso as well. With CDBurner be sure to save the project because that will make it easier to add files later if you want. Another great piece of software is PowerISO.

Once you have your iso then add it to the list in VirtualBox by choosing Manage disks. When you are in Puppy, because remember you need to use the Live iso to start the program, you can change the mounted iso file from Puppy215CE-Final.iso to your new Puppyfiles.iso. Next choose "Disks" from the desktop icon. You should see a label for hdc with a red disc icon. Click on this and the program automatically mounts the Iso as if it were in a cd player. The files you added should appear in the ROX file manager window.

Now first click on the sfsinstaller.tar.gz and choose select all, then extract to /root/my-applications. Next go to the start menu and then to file systems and ROX filesystem. The folder that opens is your root folder. Google linux or unix directory structure for some insight into how linux sets up its directories. In my applications open sfsinstaller_fullHD and click on sfsinstaller.gtk. NOTE: PUPPY REQUIRES ONE-CLICK TO OPEN APPLICATIONS AND DIRECTORIES although I'm sure you have found that out by now! Follow the directions and the .sfs packages will be installed. Check the start menu and if you installed web or pgs you will see new program entries. Devx does not show anything.

Explore the forum, dotpups and puppy start menu items as well as skip around and familiarize yourself with the directory structure and have fun. Take a snapshot of your current machine state in case you screw anything up.

Coming up.... Setting up your ssh server, vncserver, and commandline control of puppy: REMOTE CONTROL PUPPY!! I'm also working on installing Ubuntu 7.04. It is a more mature Linux distro and a serious alternative to Windows.

Sunday, September 16, 2007

Installing Puppy Linux in VirtualBox

I mentioned in a previous post that VMware Workstation 6 was an essential program; however, I must admit I am quickly becoming enamored by Virtual Box. I used this program several versions ago and it was not quite stable, or I was not as familiar as I am with virtual machines as I am now, but this latest version seems to rock. Networking is still a little tricky, but there seems to be a real focus on command line control, which I am getting into more and more as I work on refining methods of remote computing.

Virtual machines allow you to run/ test different operating systems and configurations, as well as run servers inside of and seperate from your 'host' machine. They are a fun and easy way to make that transition to understanding linux that I know you have been wanting to do. Download VirtualBox and the manual and get started!

First I started with Puppy Linux, an amazing and small distro that will run off a usb drive. I first discovered it in this capacity. It is amazing how much can be done with such a small OS!! I suggest starting with Puppy version 215CE. CE stands for community edition. It is a little more userfriendly and has some nice tools right out of the box. It looks nice too. Download the ISO and lets get started! Go ahead and make a file for all your puppy downloads because there are a few packages you will need as well.

After you have installed Virtual Box (VBox) Launch it. Choose New->Next and name it pup215ce. From the dropdown menu choose Linux 2.6->then the default 256mb RAM. Note this is the amount of ram the vm will use so choose based on how much you have available. Puppy will run on surprisingly little.

Next choose a new HD->Dynamically Expanding->5GB->Finish.

Now you have a new setup choose the Settings from the top menu. Choose Mount CD->iso file and browse to the location of your puppy215ce.iso that you just downloaded. In USB choose the top icon to add new filters. Don't worry about naming them and DO NOT choose any usb devices like keyboards or mouse that you have connected or you will get seriously screwed.

Finally comes networking and this was difficult for me later trying to get the right configuration for running a server. Right now just choose NAT, the default. Later we will be using the Host Interface when you set up an ssh server.

Now start that puppy up! Let it do its thing until you get to the keyboard choice menu. Click inside the machine if you haven't done so already to enable you to send commands to it as if it were a seperate machine. Choose the default, qwerty. Next it asks about what video/window interface to use. XVESA works best. Finally I like to choose my full screen setting (1024x768) with a depth of 16.

Now, before anything else, you have to partition the virtual disk. Go to the menu and choose System->Gparted. Click New and create then create again. Hilite the unpartitioned space and click new. Enter 4300 into the middle field (where 5300 is) and hit enter then drop down the menu that says ext2 under primary partition and choose fat32 and create. Next choose the unpartitioned space and hit enter then drop down the ext2 again and choose linux swap. Finally click on the arrow to the left of hda1 in the top right and choose apply. Gparted will partition the disk according to what you said.

Now select menu and reboot. You will be given a choice to save the file, do this and follow all the defaults. When you are presented with a size choose 1.25 gigs. Now wait for the file to be created and puppy to restart.

Next, click on the connections icon on the desktop and choose setup network connection. There should be an eth1 button. If there is not let me know. Choose this and then AutoDHCP. You should get a message stating connection was successful. Again, let me know if you don't. Now click browse and the default browser will show. You should be gold. At this point you may have some problems with Flash9, but these can be worked out in the next installation of this blog.

What you have now, besides a tool for learning, is the most secure OS available for browsing. I do all my banking and shopping through a puppy vm because there is no concerns of keyloggers, viruses, spyware, etc. Of course I can't do much about the other side of the connection except deal with only reputable folks and check the site address before entering any info.

Next I will explain how to put in some of my favorite packages/ programs and get an ssh server going that you will be able to use in the same way I explained with DDWRT in a previous post, as well as setup a vnc server so that you can do secure remote desktop-ing as well.

If you have any questions please ask, I will provide screenshots if necessary.

Thursday, September 13, 2007

Launchy I Love You

I am in the process of discovering the wonder, beauty, and power of a little open source program called Launchy. It is quite frankly one of those simple little programs I had read about a couple of times on one of my favorite sites, lifehacker, and thought what would I do with that? And now I am wondering how I ever got by without it!
For starters, it seemed silly to have a program put keystrokes in the place of just a few mouse clicks to start a program, but the ease of starting cygwin or firefox with alt-spacebar>c or f>enter and never taking my hands from the keyboard is frankly addicting.
Even better, I try to keep my 'top level' directory small, ie as few directories as possible when you first click on a drive, which can lead to some 'deep' traveling to directories I am using frequently. With Launchy I just add the directory to the list of those searched and indexed and I can easily pull up 'newinstallfiles' with a few key strokes.
Even cooler - I just added the foobar playlist directory so I can pull up my frequently played lists with, again, just a few keystrokes.
Try it - I guarantee you will quickly see why it has won so many awards. I know I have barely scratched the surface with plugins and other features.

Thursday, September 6, 2007

Bypass Firewalls with SSH and DD-WRT

This is one of those blogs that are the reason I started this thing. I use this technique alot and people are frequently asking me how I do it. This is just one method I use and will describe for bypassing firewalls and local servers.

The main reason for doing this is for security and the hell of it. It can have some risk, however - even though you may be bypassing your company's firewall and checking those unauthorized sites the connection is still visible as a secure tunnel, so productivity issues are still addressable. My reason, however, is not so much the bypassing of the firewall, which is convenient because I can use computers that are normally blocked from any internet access without an administrative password, but the security of checking email, bank accounts, and other secure sites where I am required to enter passwords. These things could easily be stored/ intercepted at the company's server by a security leak or a less than trustable IT guy (or gal). This is a great reason for using it with an unsecure wireless connection like the coffee shop or McDonalds, or hotel room.

Excuse aside: witness the magic and try it for yourself!

Setup The SSH Server

The first requirement is an ssh server. This is the aspect which changes across the different methods. Everything else pretty much stays the same. So, for this method I use the ssh server that comes with the firmware DDWRT - a linux based wireless router firmware that I flashed into my Linksys WRT54G V2 (the version is very important - newer versions are actually less amenable to hacking - bad Linksys!!) to replace the existing, original firmware. This process, and the many reasons that it is a good idea despite the fear of 'bricking' your router, are detailed here. My main reason for doing this was to take advantage of this ssh server function. I really like having the ability to manipulate the transmitting power of the router as well (GUI->Wireless tab->Advanced->Xmit power).

Don't worry if you don't have a compatible router or don't want to take the chance of putting in third party firmware, as I said I will introduce other methods of getting this done. Let me say that I do believe that having a hardware firewall in the form of a hardware router that controls traffic between your computer and the internet is well worth the investment. I feel much safer behind both a hardware and software firewall when I am opening ports, as is necessary for techniques such as this.

After getting and installing ddwrt it is time to get it set up as an ssh server. Basically, this means it allows you to connect to the OS withing the router via secure shell transfer protocol. Goto the Administration tab->Services and go down to a box labeled 'Secure Shell'. Enable SSHd and password login and choose a random port. SSHd is the server (d stands for daemon-a process that runs in the background). The password that you will need to access the server is the same that you need to initially access the router itself. Be sure you have changed these from the default and chosen a very strong password, especially if you have enabled web administration. However, the username will be 'root', NOT the username used to access the router. There are further security measures beyond just the password method, but I won't cover them here.

Goto Administration tab->Management and enable 'ssh management' then choose a port something between 9500 and 66000 - just be aware that there are certain ports that are predetermined for specific purposes or applications so be careful and google 'port selection' if you are unsure (ex.: port 80 is reserved for internet traffic). Note that above the selection for enabling ssh management is a button to enable web gui management, thereby allowing you to make changes to the router's configuration from outside the network. Cool - but a potential security risk. Instead I remotely connect to a virtual linux machine (Ubuntu) that I keep running and make changes through that... more on that later.

Configure Portaputty and Firefox

Now it is time to access your server. For this you will need PortaPutty, an awesome little program that will run off a usb drive. PortaPutty is an ssh client that will allow you to connect to your new server. Open it up:



Type in a name for the session, in this case I have used home since I will be connecting to my home machine. Then type in your ip address. This is your address to the 'outside world' NOT your network address. For example, in my area a typical broadband address looks like 71.76.123.456, whereas your network address is a variation of your router address, usually 192.168.1.1. Check out whatsmyip.org to find out. Copy the result into the Host Name field, in which I have entered your_ip_address. Now change the port to the one you chose for the SSH Management function, NOT SSHd. Next click on the Data tab under Connections in the left hand panel.




Enter 'root' in the autologin username field (NOTE - THE IMAGE IS INCORRECT!! (SORRY) You must enter root here, NOT the username you use to access the router). Now expand the SSH tab and click on Tunnels:




Enter any port number into the source port field. Then choose the Dynamic button, Local is hightlighted by default. Now click add and D(portnumber) should appear in the fowarded ports field. Choosing dynamic is very important here, for this is what allows the communication between your browser and the server.

Now go back to Session and choose save. (see first image above). Now choose Open and you should see an initial black box and then a connection message and a prompt for your password. This is the same password you use to access the router. The cursor does not move while you are entering the password. When your password is accepted you will be presented with a warning message about your ssh key. If you are sure you have entered everything correctly then click yes and putty will create a file with this key, which it will reference whenever you connect to this server. Then you are presented with a welcome message and a command prompt. Almost there!!




Next, download portable Firefox and install it on a usb drive. Open firefox and navigate to Tools->Options from the top menu. Then click on the Advanced tab and choose Settings.




Now choose the button next to Manual Proxy configuration and enter localhost in the SOCKS HOST field and the port you chose in Tunnels under Portaputty. Leave everything else the same. Choose OK and OK and you should now be rockin'!




Essentially, you have just configured firefox to look to your chosen port on your local machine, 9966 in the above example, for it's browsing. PortaPutty is then dynamically transferring the browsing session via an encrypted SSH tunnel from your local machine to the SSH server you set up on your router, effectively bypassing the local server that would be blocking you or that you did not trust.
Believe it or not, this is the short description!! If everything is working right then you should be able to browse as normal. You should lose your connection when you exit PortaPutty. The best way to do this is to enter 'exit' at the command prompt.
If you have any problems, or better yet if it works for you please let me know in the comments!!

Sunday, September 2, 2007

Fresh Install - First Programs

As I said before, the very first program I installed, before doing any updates or even connecting to the internet, was Acronis True Image 10, followed by an immediate image of the new installation. After security issues were resolved I commenced to installing my 'must haves':
AlZip: I love this little bit of freeware, which opens every kind of archive; from executables to tarballs to rars and everything in between. I have found it very useful for making zip files as well.

Firefox: I resisted using this because spybot kept coming up with spyware after using it and since IE7 has tabs - who needs it? Well, the more I got into tweaking the more I started to love firefox and all its addons. I will list my must have addons in another blog.

Sandboxie: This is a wonderful program for exploring websites or executables you don't quite trust. I like to use this while surfing to get a sense of just how much crap a site like MySpace puts on your computer. It's nice for keygens too, if you used those kind of things.

Utorrent: a fast and lightweight bitttorrent client for grabbing those linux distros, etc.

PeerGuardian 2: for use with UTorrent. Privacy is a must!!

FastStone Image Viewer: I have three kids and lots of digital pictures and this handy app is awesome for keeping pictures organized, but what I really use it for is a very fast and powerful editor. Double click any picture to make it full screen then put the mouse to all four sides to see what different menus pop up. Very nice!!

FoxIt Reader: great little pdf reader

CCleaner: a great way to get rid of all that crap that sites like MySpace put on your computer!!

Revo Uninstaller: I like to try out new programs and this is great for getting rid of them when I'm done.

VMware Workstation 6: This is an absolute essential. I love this program. I love trying out new OS's, especially different linux distros, and this makes it happen. Also a very easy way to set up an ssh server (through a linux distro) and create a space for more secure browsing (ditto)


JKDefrag
: This is a very handy and very powerful defrag utility.

Most of these are freeware because I have found that freeware and open source stuff is of great quality and very light, very specific to whatever task I am looking to have performed.

Got any favorites of your own? What programs do you put on your computer first? Any suggestions for apps that would do a better job than the ones I have listed?

Why I'm not a Mac Person

I just grudgingly downloaded Quicktime 7 and realized why I really don't like Apple's stuff and I will never be a Mac person. I can't stand the way that Apple's programs literally take control of your computer's settings. If I let it, quicktime would not only take over just about every video format my computer plays but it would start itself and run in the background, eating up system resources. Granted, a lot of Windows programs do this too, and I guess since it is media the quicktime take over is more obvious, but I can't stand the assumption that their software is so important to me that I want it dominating whatever aspect I am downloading it for.

Macs are easier, I hear it said, and this is because it does everything for you. Sets up all your associations, reduces the steps to accomplish a goal by deciding for you what those steps should be. This is great for someone who uses their computer only, bad for someone that likes to use it and manipulate the way it operates.

I just can't stand downloading a program and then having to keep going back and taking away file associations and blocking it from startup because these choices weren't presented at install - these are, in my opinion, hallmarks of a poorly made program, at least from a user's perspective.

And what the hell is this Bonjour thing that keeps trying to act like a server and connect to the internet? Smells like spyware to me....