OpenSSH (Secure SHell)

Ett säkrare ( jmf. "telnet=klartext", "ssh=krypterat") sätt för att kommunicera mellan datorer, jag vill komma åt min "stationära" (hakan=192.168.100.2) med min "laptop" (zenita=192.168.100.4), här ser du mitt Nätverk, några bra sidor för att förstå vad det igentligen handlar om.

http://www.linuxjournal.com/article/4412
http://www.linuxjournal.com/article/4413

Installera "Slackpaketen" openssh, openssl, openssl-solibs, zlib på båda datorerna.

Alla "värden" är naturligtvis "fejkade", men det förstår ni naturligtvis.. ;-) 

Server (stationära=hakan=192.168.100.2)

Filen /etc/tc.d/rc.sshd används för att starta "ssh-demonen" som behövs på den dator du vill åt, se till att den är "körbar" (+x), och att detta finns i din /etc/rc.d/rc.inet2..

# Start the OpenSSH SSH daemon:
if [ -x /etc/rc.d/rc.sshd ]; then
  echo "Starting OpenSSH SSH daemon:  /usr/sbin/sshd"
  /etc/rc.d/rc.sshd start
fi

..och naturligvis att du använder dig av den, d.v.s detta i /etc/rc.d/rc.M

# Start networking daemons:
if [ -x /etc/rc.d/rc.inet2 ]; then
  . /etc/rc.d/rc.inet2
fi

..så startar den automatiskt vid uppstart. Konfigurationsfilerna tillsammans
med dom olika "nycklar" som skapas första gången "sshd" startar finns i /etc/ssh.
Jag måste också öppna port 22 i min Brandvägg.

Säkerhet
När jag får "nyckeln" id_dsa.pub från "titus@zenita" lägger jag den i
/home/hakan och skapar en textfil authorized_keys i /home/hakan/.shh/ för att sedan..
$ cat id_dsa.pub >> /home/hakan/.ssh/authorized_keys

..samt ändrar "rättigheter"..

$ chmod 600 authorized_keys

Sedan ändrar jag min /etc/ssh/sshd_config så det blir lite säkrare.

Client (laptop=zenita=192.168.100.4)

Utan att ställa in någonting, alltså bara det som är "förvalt" provar jag logga in till min användare "hakan" på "servern"..

$ ssh -l hakan 192.168.100.2
The authenticity of host '192.168.100.2 (192.168.100.2)' can't be established.
RSA key fingerprint is ce:3d:67:b7:ce:9b:c4:a1:96:8d:7a:b3:e5:38:d0:8e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.2' (RSA) to the list of known hosts.

..så här långt kan "vem som helst" komma 
(servern använder /etc/ssh/ssh_host_rsa_key.pub), nu öppnas 
en "krypterad" förbindelse så att "hakans lösen" inte sänds 
i "klartext"..
hakan@192.168.100.2's password: "hakans lösen"
Last login: Sat Feb 18 21:48:22 2006
Linux 2.6.13.
xhost:  unable to open display ""
hakan@hakan:~$

..det fungerar, då stänger jag..
hakan@hakan:~$ exit
logout
Connection to 192.168.100.2 closed.

Säkerhet
Nu ska jag göra nycklar, jag väljer "dsa-modellen" (-d),
för min vanliga användare på "laptopen" (titus@zenita)..

titus@zenita:~$ ssh-keygen -d
Generating public/private dsa key pair.
Enter file in which to save the key (/home/titus/.ssh/id_dsa): ta förval, tryck "enter"
Enter passphrase (empty for no passphrase): "blabla"
Enter same passphrase again: "blabla"
Your identification has been saved in /home/titus/.ssh/id_dsa.
Your public key has been saved in /home/titus/.ssh/id_dsa.pub.
The key fingerprint is:
0e:ec:ea:0d:37:68:c3:df:62:a8:cb:3f:3e:2f:cd:72 titus@zenita


..och så använder jag "scp" som du kan se nedan under "kopiera filer"
(du kan också använda "e-post" eller "nfs", det är ju den "publika"
nyckeln så säkerheten är inte så viktig.) för att kopiera
id_dsa.pub till "servern".
Till slut kopierar jag konfigurationsfilen..

$ cp /etc/ssh/ssh_config /home/titus/.ssh/config

..samt ändrar "rättigheter"..

$ chmod 600 config

Här ser du min config, då provar jag..
titus@zenita:~$ ssh -l hakan 192.168.100.2
Enter passphrase for key '/home/titus/.ssh/id_dsa': "blabla"
Last login: Mon Feb 20 05:51:38 2006 from zenita
Linux 2.6.13.
xhost:  unable to open display ""
hakan@hakan:~$

Fungerar.. :-), då är det dags för grafik, som du ser så har jag raden
ForwardX11 yes i båda konf-filerna.
Jag börjar med att ge "hakan" rätt att använda "X"..
titus@zenita:~$ xhost +hakan hakan being added to access control list titus@zenita:~$ ssh -l hakan hakan Enter passphrase for key '/home/titus/.ssh/id_dsa': "blabla" Last login: Thu Feb 23 18:33:50 2006 from zenita Linux 2.6.13. non-network local connections being added to access control list xhost: must be on local machine to add or remove hosts. hakan@hakan:~$ konqueror X Error: BadAtom (invalid Atom parameter) 5 Major opcode: 20 Minor opcode: 0 Resource id: 0xfe X Error: BadWindow (invalid Window parameter) 3 Major opcode: 2 en massa felmeddelanden, men till slut..

bild
..ser väl bra ut! :-)

Jag märkte sedan att jag inte behövde köra "xhost +hakan", varför begriper jag inte riktigt, så jag vore tacksam för ett klarläggande.


Kopiera filer (scp)

Syntax: scp [ options ] "källfilsträng" "målfilsträng"
Jag ska kopiera /home/titus/.ssh/id_dsa.pub på "laptopen"
till /home/hakan på "servern".
titus@zenita:~$ scp /home/titus/.ssh/id_dsa.pub hakan@hakan:/home/hakan/
Enter passphrase for key '/home/titus/.ssh/id_dsa': "blabla"
id_dsa.pub        100% 1114     1.1KB/s   00:00

..eller tillbaka..

titus@zenita:~$ scp hakan@hakan:/home/hakan/id_dsa.pub /home/titus/
Enter passphrase for key '/home/titus/.ssh/id_dsa': "blabla"
id_dsa.pub        100% 1114     1.1KB/s   00:00
..fungerar utmärkt! :-)

Säkerhet

Om detta kan skrivas "spaltkilometrar", mitt enda råd angående det är..
Se till att du vet vad du gör, "tro" inte!
..som du förstår innebär det läsa, läsa, läsa.. ;-)..inte så kul alla gånger
men som tur är finns ju också slack-forumet.

Till sist, så här svarar det om jag försöker komma in som någon annan..
titus@zenita:~$ ssh hakan
Permission denied (publickey,keyboard-interactive).
titus@zenita:~$ su
Password: "rootlösen"
root@zenita:/home/titus# ssh hakan
The authenticity of host 'hakan (192.168.100.2)' can't be established.
RSA key fingerprint is ce:3g:66:b9:cf:9b:c2:a1:93:8f:7b:a3:e5:38:d0:8e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hakan' (RSA) to the list of known hosts.
Permission denied (publickey,keyboard-interactive).
..vilket duger för mig. :-)

Valid XHTML 1.0 Transitional