Thursday, October 30, 2008

SAMBA Ubuntu Putty Windows Xp Tunneling Map Drive!

The objective is to access Ubuntu server from Windows Xp over internet using SSH!

To achieve this goal, this post describes the following:

1. How to install/configure SAMBA on Ubuntu (file server)
2. How to install/configure a network adapater on windows (Windows connection)
3. How to install/configure Putty (SSH agent)
4. How to Map a network drive (Mapping a network drive)

Installing SAMBA on Ubuntu
sudo apt-get update
sudo apt-get install samba

sudo emacs -nw /etc/samba/smb.conf [open config file]
set the following line.
browsable = yes
writeable = yes

restart samba
sudo /etc/init.d/samba reload

share a folder.
right click the folder in nautilus and select "share options"...share over windows networks (SMB)

see this video and this site

Install a loopback network adapter

A loopback network adapter is kind of a “virtual network adapter”: it acts as a normal network adapter, but you don’t have to install any physical hardware to use it. It is only usable on the PC it’s installed on (other PCs can’t connect to it).

  1. Go to Control Panel - Add Hardware
  2. Click Next, then wait a while, choose “Yes, I have already connected to the hardware” and Next again.
  3. Choose the last option, “Add a new hardware device”, click Next.
  4. Choose “Install the hardware that I manually select from a list (Advanced)”, click Next.
  5. Choose “Network adapters”, click Next.
  6. Choose Microsoft, “Microsoft Loopback Adapter”, click Next and Next again.
  7. Click Finish.

Configure the Microsoft Loopback Adapter

Since the loopback adapter won’t have a DHCP server to ask for an IP address, we need to configure an IP address manually.

  1. Right click on “My Network Places” (on your desktop or in your Start Menu), click Properties.
  2. Find the network connection that is associated with the “Microsoft Loopback Adapter”. Usually it’s called “Local Area Connection 2″. For clarity, I renamed mine to “Loopback” (what’s in a name?). Right click the connection name, click Rename and change it.
  3. Right click the Loopback connection, click Properties.
  4. On the General tab: disable “Client for Microsoft Networks” and “File and Printer Sharing for Microsoft Networks” (only untick the checkboxes, DO NOT uninstall!).
  5. Click “Internet Protocol (TCP/IP)” and click Properties.
  6. On the General tab: click “Use the following IP address” and pick a private IP address on an unused subnet (I used 192.168.100.100 with subnet mask 255.255.255.0).
  7. Click Advanced.
  8. On the WINS tab: click “Disable NetBIOS over TCP/IP”, then click OK and again OK.
  9. Click Close.

Create or edit the LMHOSTS file

  1. Open the file “C:\WINDOWS\system32\drivers\etc\lmhosts” (create it if it doesn’t exist - note that the file should have no file extension).
  2. Add the following line to the end of the file:
    192.168.100.100 servernamehere
  3. Save and close.

Configure PuTTY

At last, we have to tell PuTTY to create an SSH tunnel from the loopback connection to our home server. I assume you already have a PuTTY saved session to connect to your home server.

  1. Open PuTTY, click your saved session and click Load.
  2. Go to Connection - SSH - Tunnels.
  3. In Source port, type “192.168.100.100:139″ (I know, the field is quite small, but it will accept the value anyway).
  4. In Destination, type “localhost:139″.
  5. Click Add, and do not forget to resave your saved connection!

To confirm that everything is working, connect to your home server with the saved session in PuTTY. Click Start - Run and enter “\\servernamehere\sharenamehere”. Depending on your Samba setup, you may have to enter a username and password. Done!

Background information a.k.a. Frequently Asked Questions

Why do I have to install an extra loopback adapter? Can’t I use the adapter that’s already in my PC?

Yes, in fact you could use the adapter that’s already in your PC. But… you would still have to disable the Client for Microsoft Networks and File and Printer Sharing. That means you won’t be able to use any other shares besides your home shares. Not very practical. An extra adapter allows you to have Microsoft Networking enabled on your normal network connection and use your home shares simultaneously with other (work, school, …) shares.

Do I really need the LMHOSTS file?

No, you don’t. You could refer to the IP address as well (e.g. connect to “\\192.168.100.100\sharenamehere”). But I wanted the solution to be transparant, whether I’m at home or not. If I use “\\servernamehere\sharenamehere” at home, then I want to use it anywhere else as well (or else I have to remember too many things). That’s what the LMHOSTS file is for.

=============================================

Above post was copied from here just in case the original post get vanished!

To set putty access without passwords, copy your private key (id_dsa) from the remote machine to the local machine. Open puttygen and load this key. Save this key in putty format without a passphrase. In Putty select ssh->auth and specify this file. Also connection->auto-login name and specify the user.


Sunday, October 26, 2008

Double Spacing

To add double-spaced line in Latex, do the following:

\usepackage{setspace}
\doublespacing

Thursday, October 16, 2008

subversion

[QUICK REF]

svn import -m "initial import" module svn+ssh://user@server/home/svn/repos/module/

svn co svn+ssh://user@server/home/svn/repos/module/ module

Refer this article to install subversion on Ubuntu and set up Apache to get web access to the repository. Following is a summary of the commands.
(using aptitude is better than apt-get because the former keeps a track of dependencies during uninstall time, and records a log)

installing subversion
sudo apt-get update
sudo apt-get install subversion

creating the repository
cd /var
sudo mkdir svn
sudo svnadmin create /var/svn/repos

add svn as a user
sudo adduser svn
sudo chown -R svn.svn svn

let a user access svn (add to svn group)
sudo vigr
admin:x:110:user_name
svn:x:1001:user_name

SSH access
sudo apt-get install openssh-server
svn co svn+ssh://username@machinename/var/svn/repos

chmod 0700 .ssh
chmod 0600 .ssh/authorized_keys2

Set up Apache Web Access to the repository
sudo apt-get install libapache2-svn
cd /etc/apache2/sites-enabled
sudo vi 000-default

<Location /svn> 
DAV svn
SVNPath /var/svn/repos
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/passwords
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
<Location\>   
sudo /etc/init.d/apache2 force-reload

Add the following to the Location directive above to secure the repository.
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/passwords
Require valid-user

set up BASIC authentication as follows.
sudo htpasswd -cb /etc/apache2/passwords USERNAME PASSWD

sudo /etc/init.d/apache2 force-reload

To see whats on SVN do a list:
svn list svn+ssh://user@server/home/svn/repos

Tortoise SVN
This tool provides a shell script in Windows explorer so that we can easily
checkout, import, or update a folder with an SVN repository in a remote machine.
I will describe how to use Tortoise with svn+ssh on Windows using Putty.

download and install tortoise from here.
http://tortoisesvn.tigris.org/
Installation is fairly simple. Requires a restart on Xp after installation.
Create a tunnel using putty.
First create a key using putty keygen. You can either convert an existing private
key or create a private/public key pair from the scratch by doodling some random
movements. Now load the private key by double clicking. This should load they key
to putty agent and the agent should appear as an icon in the Windows system tray.
Now open putty and create an SSH connection to the remote server as follows:
Give the HOST name (alternatively the IP), specify a name in the saved sessions box,
in the connection->Data provide your username in the "Auto-login username".
Now save the session, load it and open it. Now right click on any windows explorer
window (in a directory) and in the pop-up menu select TortoiseSVN->Repo-broweser and
type the following the url box:
svn+ssh://username@server/home/svn/repos

This will show you all the modules uploaded to the SVN server.
If you are in Linux, then when you try to use svn+ssh then it will always ask you to
type your password. To avoid doing this add your id_dsa.pub and/or id_rsa.pub public
keys to authorized_keys and authorized_keys2 files by doing
cat id_rsa.pub >> authorized_keys2


Thursday, October 2, 2008

Linux Networking

To specify a DNS server:

/etc/resolv.conf
nameserver XXX.XXX.XXX.XXX

Wednesday, October 1, 2008

SQL

1. To use a database
use

2. To show all tables in the database
show tables from

3. Describe a table
describe

4. print some rows
select * from limit

Continuously monitor GPU usage

 For nvidia GPUs do the follwing: nvidia-smi -l 1