SSH

Med SSH kan man i terminalen kryptert koble seg til et skall på eksterne UNIX-maskiner. Da dette er nyttig alene kan SSH også by på andre kraftige tjenster som trafikktunnelering med mer.

ssh brukernavn@tihlde.org

f.eks. gir deg et skall på colargol.

Som en flittig bruker av SSH ønsker du i de aller fleste tilfeller å generere SSH-nøkler. Disse nøklene (som i praksis er lange tekststrenger) brukes til å krytere tilkoblingen mellom deg og server og fungerer også som authentisering (kan brukes uten passord).

testdukke@melkebart:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/testdukke/.ssh/id_rsa):
Created directory '/home/testdukke/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/testdukke/.ssh/id_rsa.
Your public key has been saved in /home/testdukke/.ssh/id_rsa.pub.
The key fingerprint is:
a2:1f:91:64:5b:c6:36:88:d0:a4:11:68:db:13:06:48 testdukke@melkebart
The key's randomart image is:
+--[ RSA 2048]----+
|oE=+.            |
|o. *.. o         |
|. = o + *        |
| . o o * .       |
|    . = S        |
|     . o         |
|    . .          |
|     . .         |
|      .          |
+-----------------+

På spm om passphrase kan du velge et tomt passord. Da blir ikke den private nøkkelen din krypter og du får selv passe på at den ikke kommer på avveie. Velger man passord, må man åpne nøkkelen hver gang man bruker den med passphrase-en (eller la en nøkkelringløsning holde den åpen for deg gjennom sesjonen din (den lokale innloggingen)).

Kopier så public-nøkkelen din til en server du ønsker å logge inn på passordløst, bruk kommando ssh-copy-id

testdukke@melkebart:~$ ssh-copy-id torvaldl@tihlde.org
The authenticity of host 'tihlde.org (158.38.48.10)' can't be established.
RSA key fingerprint is 54:9f:61:ce:77:69:24:87:3c:07:04:02:1d:50:40:8b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'tihlde.org,158.38.48.10' (RSA) to the list of known hosts.
torvaldl@tihlde.org's password: 
Now try logging into the machine, with "ssh 'torvaldl@tihlde.org'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

SOCKS

Trenger du å sende all nettlesertrafikk gjennom en server kan du gjøre dette med

ssh -D 9999 brukernavn@tihlde.org -N

Dette åpner en SOCKS lokalt som du kan koble til i nettleserinnstillingene dine. For eksemplet over; logg på og knytt nettleseren din til URL localhost og port 9999.

Videresending av én tilkobling

Hvis du bare vil nå et spesielt sted kan du alternativt bruke

ssh -L 8888:myip.dk:81 brukernavn@tihlde.org -N

Da kan du derfra åpne http://localhost:8888 og du vil blir tatt gjennom SSH-tunnelen og til myip.dk på port 80 gjennom tihlde.org. På denne måten «slipper du unna» SOCKS.

Reversert tunnel

Om du har en maskin bak [NAT] kan du sette opp en reversert SSH-tunnel fra denne til en offentlig maskin med

hjemmebruker@hjemmemaskin:~$ ssh -R 19999:localhost:22 brukernavn@tihlde.org

Dette gjør at du setter opp SSH på tihlde.org til å lytte for innkommende SSH-tilkoblinger lokalt på din maskin via port 19999. Da kan du fint koble til tihlde.org hvor som helst i verden og nå din egen hjemmemaskin bak NAT ved å

brukernavn@colargol:~$ ssh -p 19999 hjemmebruker@localhost