Ssh Clientseite
Clientseite
- ssh (OpenSSH client) ist ein Programm um auf einen entfernten Rechner zuzugreifen und dort Kommandos auszuführen.
- Es ersetzt die Programme rlogin und rsh und stellt eine sichere verschlüsselte Verbindung zwischen zwei Rechnern her.
- ssh verbindet sich mit dem Zielrechner, worauf der Benutzer seine Identität über verschiedene Methoden nachweisen muss.
Aufruf
- ssh [Optionen] Benutzer@Zielrechner [Kommando]
- Wenn ein Kommando angegeben wird, wird dieses anstelle der Login-Shell ausgeführt.
SSH Optionen
SSH Beispiele
- Zugriff auf einen bisher unbekannten Zielrechner
- ssh root@alita
The authenticity of host 'alita (192.168.242.10)' can't be established. RSA key fingerprint is 8c:d1:1f:d2:5e:76:cd:75:74:c4:b7:b2:c7:f6:50:78. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'alita,192.168.242.10' (RSA) to the list of known hosts. root@alita's password: Passwort_das_nicht_angezeigt_wird ...
Um die Identität des Zielrechners zu verifizieren, kann man den den Fingerprint des öffentlichen RSA Schlüssels auf der Serverseite ausgeben lassen. Dieser kann dann mit dem oben angezeigten verglichen werden.
Zugriff auf bekannten Zielrechner
root@zero:~# ssh alita root@alita's password: Passwort_das_nicht_angezeigt_wird ... root@alita:~#
Zugriff als Benutzer christian und auf Port 9998
root@zero:~# ssh alita -l christian -p 9998 christian@alita's password: Passwort_das_nicht_angezeigt_wird ... christian@alita:~$
Ausführen eines Kommandos auf dem Zielrechner
root@zero:~# ssh alita cat /etc/hostname root@alita's password: alita root@zero:~#
Ausführen eines grafischen Programms auf dem Zielrechner und lokal anzeigen
root@zero:~# ssh -X root@alita kate
Authentifizierung mit Schlüssel
Schlüsselpaar erstellen
xinux@zero:~$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/xinux/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/xinux/.ssh/id_rsa. Your public key has been saved in /home/xinux/.ssh/id_rsa.pub. The key fingerprint is: a7:13:ec:54:a3:4f:29:32:f8:98:04:ea:0c:b9:62:04 xinux@zero The key's randomart image is: +--[ RSA 2048]----+ | | | | |E . o | |.o . . . o o | |+. o o S + | |=. . + = B | |o+ o . + . | |o . | | | +-----------------+ xinux@zero:~$
Übertragen des öffentlichen Schlüssels
Ubuntu
xinux@zero:~$ ssh-copy-id -i .ssh/id_rsa.pub root@alita root@alita's password: Passwort_das_nicht_angezeigt_wird Now try logging into the machine, with "ssh 'root@alita'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. xinux@zero:~$
ESXI
xinux@zero:~$ cat .ssh/id_rsa.pub | ssh root@esxi \ 'cat >> /etc/ssh/keys-root/authorized_keys'
Einloggen auf Remoterechner
root@zero:~# ssh root@alita Linux alita 2.6.28-13-generic #44-Ubuntu SMP Tue Jun 2 07:57:31 UTC 2009 i686 The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. To access official Ubuntu documentation, please visit: http://help.ubuntu.com/ 0 packages can be updated. 0 updates are security updates. Last login: Thu Jul 2 13:54:13 2009 from zero.alpha.quadrant root@alita:~#
scp secure copy
scp steht für Secure Copy und ermöglicht es, Dateien in einem Netzwerk zu kopieren. Es baut auf ssh auf und benutzt entsprechend Authentifizierung und Verschlüsselung.
scp [Optionen] Benutzer@Rechner1:/Pfad/zu/Datei lokaler_Dateipfad scp [Optionen] lokaler Dateipfad Benutzer@Rechner2:/Pfad/zu/Datei2
Optionen
- -1 : Erzwingt die ausschließliche Benutzung von ssh Protokollversion 1
- -2 : Erzwingt die ausschließliche Benutzung von ssh Protokollversion 2
- -4 : Erzwingt die ausschließliche Benutzung von IPv4 Adressen
- -6 : Erzwingt die ausschließliche Benutzung von IPv6 Adressen
- -C : Benutzt Komprimierung
- -P port: Benutzt Port auf dem Zielrechner; Achtung: großes P!
- -p : Verändert nicht die Zeiten der letzten Veränderung der Datei
- -r : rekursives Kopieren; scp folgt dabei auch symbolischen Links
- -v : ausführliche Ausgabe
Beispiele
Kopieren aller Dateien und Verzeinissen von einem lokalen Verzeichnis in ein entferntes Verzeichnis
root@zero:~# scp -r /etc/* root@alita:/tmp/ root@alita's password: powerbtn.sh 100% 517 0.5KB/s 00:00 ...
Kopieren eines entfernten Verzeichnisses in ein lokales Verzeichnis
root@zero:~# scp -r root@alita:/root /root/alita_backup/ root@alita's password: .bashrc 100% 2227 2.2KB/s 00:00 ...
vpn-pppd ssh Tunnelscript
ssh nagus cat /usr/local/sbin/vpn-pppd
enable diffie-hellman-group1-sha1 key exchange
mit dem direkten befehl:
- ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 123.123.123.123
dauerhaft eintragen:
- /etc/ssh/ssh_config
Host 123.123.123.123
KexAlgorithms +diffie-hellman-group1-sha1