SSH: Die Secure Shell

Inhalt

  1. Warum man nicht Telnet verwendet: Die Geschichte von Rudolf S. aus T.
  2. Entstehung von SSH
  3. Der erste Login
  4. Public-Keys
  5. scp, sftp
  6. Forwarding: X11, Ports
  7. SSH und andere Programme

Ziele

Warum man nicht Telnet verwendet

Subject: Programme ?
From   : Rudolf S.
To     : linux@lugs.ch
Date   : Tue, 21 Nov 2000 19:11:32 +0100

hallo zusammen

ich habe per zufall folgenden programme in meinem
/dev verzeichnis gefunden.

TeLeKiT         lsniff     psybnc
illusionz        mirkforce  wu.rpm

kennt ihr die ??

ich weiss nämlich nicht was die dort zu suchen haben.

gruss
rudolf

Warum man nicht Telnet verwendet...

Subject: Re: Programme?
From   : David Gunzinger
To     : linux@lugs.ch
Date   : Tue, 21 Nov 2000 22:06:41 +0100

On Tue, Nov 21, 2000 at 07:11:32PM +0100, Rudolf S. wrote:
> TeLeKiT         lsniff     psybnc
> illusionz        mirkforce  wu.rpm

Sieht boese aus

psybnc ist ein irc server !
der hat nichts im /dev zu suchen
mirkforce ist ein irc clonebot

Wenn du das nicht dort hingetaen hast, ist jemand bei dir
eingebrochen.

Warum man nicht Telnet verwendet......

Subject: Re: Programme?
From   : Rudolf S.
To     : linux@lugs.ch
Date   : Tue, 21 Nov 2000 23:59:27 +0100

> Wenn du das nicht dort hingetaen hast, ist jemand bei dir
> eingebrochen.

bewusst ganz bestimmt nicht. ich hab noch 2 webmin module
intalliert kläre ab, ob die was damit zu tun haben.

ich glaube aber eher, ich hatte zu lange telnet laufen.
hatte vor kurzer zeit auch ganz "lustige" probleme damit.

danke für den tip.

gruss
rudolf s.

Warum man nicht Telnet verwendet.........

Subject: Re: Programme?
From   : Rudolf S.
To     : linux@lugs.ch
Date   : Wed, 22 Nov 2000 00:06:03 +0100

> Dazu hat er aber fast root bebraucht? Oder?
> Lücke suchen und alle Passworte ändern.

files waren alle mit root berechtigungen drin. :(((
wahrscheinlich habe ich eindeutig zu lange mit telnet
gearbeitet. ssh ist wohl nicht so leicht abzuhören.

gruss
rudolf s.

Entstehung

1995
Tatu Ylönen (Universität von Helsinki) entwickelt SSH als Reaktion auf eine Passwort-Sniff-Attacke. 6 Monate nach veröffentlichung bereits von 20'000 Personen in 50 Ländern benutzt.
1998
SSHv2 durch SSH Communications Security veröffentlicht (unfrei).
Dez 1999
OpenSSH 1.2.2 basierend auf SSH 1.2.12 in der Release 2.6 von OpenBSD veröffentlicht.
Juni 2000
OpenSSH 2.0 mit OpenBSD 2.7 ausgeliefert.
Bei diesem Vortrag ist mit ssh immer OpenSSH gemeint.

Erster Login

Verwendung

ssh -l login host.ethz.ch     oder
ssh    login@host.ethz.ch

Beispiel

hotti@localhost:~> ssh -l hodaniel tardis-a1.ethz.ch
The authenticity of host 'tardis-a1.ethz.ch (129.132.3.11)'
can't be established.
DSA key fingerprint is
77:88:10:a2:e6:67:7b:70:65:a6:9e:bf:ad:7d:2c:6d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'tardis-a1.ethz.ch' (DSA) to the
list of known hosts.
hodaniel@tardis-a1.ethz.ch's password: (Passwort)
You have no mail.
hodaniel@tardis-a01:~>

Einzelne Befehle

Ohne Terminal

hotti@localhost:~> ssh -l hodaniel tardis-a1.ethz.ch ls
hodaniel@tardis-a1.ethz.ch's password: (Passwort)
README.txt
public_html
hotti@localhost:~>

Mit Terminal

hotti@localhost:~> ssh -l hodaniel -t tardis-a1.ethz.ch mutt
hodaniel@tardis-a1.ethz.ch's password: (Passwort)
(Mails lesen)
Mailbox is unchanged.
Connection to tardis-a1.ethz.ch closed.
hotti@localhost:~>

Ein Schlüsselpaar generieren: ssh-keygen

hotti@localhost:~> ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/hotti/.ssh/id_dsa):
Created directory '/home/hotti/.ssh'.
Enter passphrase (empty for no passphrase): (Passwort)
Enter same passphrase again: (Passwort)
Your identification has been saved in /home/hotti/.ssh/id_dsa.
Your public key has been saved in /home/hotti/.ssh/id_dsa.pub.
The key fingerprint is:
c3:f9:c6:e7:8b:fd:92:27:70:a3:be:d3:05:13:e0:05 hotti@localhost
hotti@localhost:~>

Public-Key auf Tardis kopieren

hotti@localhost:~> ssh-copy-id -i ~/.ssh/id_dsa.pub \
                                        hodaniel@tardis-a1.ethz.ch
hodaniel@tardis-a1.ethz.ch's password: (Passwort, ein letztes mal)
Now try logging into the machine, with
"ssh 'hodaniel@tardis-a1.ethz.ch'", and check in:

  .ssh/authorized_keys

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

hotti@localhost:~> ssh-add
Enter passphrase for /home/hotti/.ssh/id_dsa: (Passwort)
Identity added: /home/hotti/.ssh/id_dsa (/home/hotti/.ssh/id_dsa)
hotti@localhost:~> ssh hodaniel@tardis-a1.ethz.ch
Last login: Sat Jan 10 18:13:59 2004 from 217-162-223-71.
You have no mail.
hodaniel@tardis-a01:~>
Achtung: Wenn die Zugriffsrechte zu offen oder zu eingeschränkt sind, fragt SSH weiterhin nach dem Passwort.

ssh-agent

.ssh/

config

# ssh -A
ForwardAgent yes

# ssh -C
Compression yes

Host *.ethz.ch
  User hodaniel

Host teto
  # ssh -X
  ForwardX11 yes

.ssh/...

known_hosts

authorized_keys

scp

hotti@localhost:~> scp kmp.ps tardis-a1.ethz.ch:
kmp.ps               100% |***********************************| 71694       00:00
hotti@localhost:~>
Wichtig: Den Doppelpunkt nicht vergessen!

sftp

hotti@localhost:~> sftp hodaniel@tardis-a1.ethz.ch
Connecting to tardis-a1.ethz.ch...
sftp> ls
drwxr-xr-x    4 hodaniel 11000         512 Jan 10 19:23 .
dr-xr-xr-x   12 root     root           12 Jan 10 19:30 ..
drwxr-xr-x    2 hodaniel 11000         512 Oct 16  2002 public_html
-rw-r--r--    1 hodaniel 11000         424 Jun  6  2002 README.txt
-rw-r--r--    1 hodaniel 11000        2413 Jan 10 18:41 .cshrc
-rw-r--r--    1 hodaniel 11000        1415 Apr  4  2003 .login
-rw-r--r--    1 hodaniel 11000          23 Jan 10 15:30 .forward
-rw-------    1 hodaniel 11000         580 Jan 10 19:22 .history
drwx------    2 hodaniel 11000         512 Jan 10 19:20 .ssh
-rw-r--r--    1 hodaniel 11000       71694 Jan 10 19:23 kmp.ps
-rw-r--r--    1 hodaniel 11000         384 Jan 10 19:21 .atntn.time
sftp> get README.txt
Fetching /home/hodaniel/README.txt to README.txt
sftp> quit
hotti@localhost:~>

X11 forwarding

hotti@localhost:~> ssh -X tardis-a1.ethz.ch
hodaniel@tardis-a01:~> matlab -nodesktop -nosplash

                        < M A T L A B >
            Copyright 1984-2003 The MathWorks, Inc.
       Version 6.5.1.199709 Release 13 (Service Pack 1)
                          Aug  4 2003

Using Toolbox Path Cache.  Type "help toolbox_path_cache" for more info.

To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.

Type "femlab_init" if you want to use Femlab.

>> t = 0:pi/50:10*pi;
>> plot3(sin(t), cos(t), t);
>> quit
hodaniel@tardis-a01:~> ^D
hotti@localhost:~>

Nützliche X-Tricks

Grafische Programme als root starten
ssh -X root@localhost
Netscape / $PROGRAMM / X reagiert nicht mehr
Von 2. Rechner einloggen und $PROGRAMM mit kill oder pkill beenden.
Manchmal braucht es auch “Gewalt” (kill -9).

Port forwarding

Lokal: localhost:1119 → news.ethz.ch:119

hotti@localhost:~> ssh -L 1119:news.ethz.ch:119 tardis-a1.ethz.ch
hodaniel@tardis-a01:~>

News von zuhause aus lesen

hotti@localhost:~> slrn -h localhost:1119
slrn 0.9.7.4 [2002-03-13]

Reading startup file /etc/news/slrn.rc.
Reading startup file /home/hotti/.slrnrc.
Reading startup file /home/hotti/etc/slrn/colours.
Using newsrc file /home/hotti/var/spool/news/localhost for server
 localhost:1119.
Connecting to host localhost ...
Connected to host.  Posting ok.
Checking for new groups ...
Checking news ...
(News lesen)
hotti@localhost:~>

Port forwarding...

Automatisieren mit ~/.ssh/config

Host mynews
  User hodaniel
  HostName tardis-a1.ethz.ch
  LocalForward 1119 news.ethz.ch:119

Port forwarding......

Verbindung über einen (potentiell) unsicheren Host:

Naive Methode

hotti@localhost:~> ssh tardis-a1.ethz.ch
hotti@tardis-a1.ethz.ch:~> ssh eigener.rechner.ch

Sichere Methode

hotti@localhost:~> ssh -L 2222:eigener.rechner.ch:22 tardis-a1.ethz.ch
Und in einem anderen Terminal:
hotti@localhost:~> ssh -p 2222 localhost

SSH und andere Programme

rsync
hotti@localhost:~> rsync -e ssh tardis-a1.ethz.ch:
-rw-r--r--         424 2002/06/06 13:32:40 README.txt
-rw-r--r--       71694 2004/01/10 19:34:28 kmp.ps
drwxr-xr-x         512 2002/10/16 15:19:56 public_html
hotti@localhost:~> rsync -e ssh tardis-a1.ethz.ch:kmp.ps .
hotti@localhost:~> ls -l kmp.ps
-rw-r--r--    1 hotti    hotti       71694 Jan 12 12:37 kmp.ps
hotti@localhost:~>
cvs
  • Concurrent Versions System
  • Verwalten von allerlei Text-Dateien (Quellcode, LaTeX, ...)
  • Ideal für verteiltes Entwickeln
  • Kann SSH benutzen: export CVS_RSH=ssh
screen
  • Terminal-Multiplexer

Jobausschreibung einmal anders

Subject: Re: This may be stupid but..
From   : Doug Luce
Date   : Mon Nov 10 02:28:12 2003

[...]

  To begin taking the tests, please send your public SSH key to
  [EMAIL PROTECTED] along with your email contact information. Sending
  your SSH key is the only way to signal your interest in this
  position. Please do not send a resume, cover letter, or other plea.

The last time I posted this, I received 200 total replies.  151
contained resumes, 52 contained public SSH keys, 4 contained public
PGP keys, and 1 contained a private SSH key.

One further response expressed hostility toward the requirement of a
candidate's public SSH key in order to be considered for a position.

Literatur und Links

SSH, The Secure Shell: The Definitive Guide

Richard Silverman, Daniel J. Barrett
ISBN: 0-596-00011-1

Seiten: 558
Homepage zum Buch

Danke für die Aufmerksamkeit

Fragen?