ssh
OpenSSH Server installieren mit
sudo apt-get install openssh-server
Wenn sich mal der key geändert hat
sed -i '$NUMd' ~/.ssh/known_hosts
veralteten Schlüssel erstmal auf dem Client mit dem Befehl
ssh-keygen -R hostname
aus der known_hosts-Datei entfernen.
Authentifizierung über Public-Keys Wichtig bei Servern
http://wiki.ubuntuusers.de/SSH
Schlüsselpaar generieren
ssh-keygen -t rsa -C benutzername -b 4096
chmod 400 /home/BENUTZERAME/.ssh/id_rsa
Pubkey auf entfernten Server kopieren
Funktioniert nur, wenn auf dem Ziel-Rechner die Passwort-Authentifikation noch aktiviert ist!
ssh-copy-id -i ~/.ssh/rsa.id user@host
Alternative
cat ~/.ssh/id_rsa.pub | ssh -p23 user@host install-ssh-key user@host's password: Key No. 1 (ssh-rsa user@host) was installed in RFC4716 format Key No. 1 (ssh-rsa user@host) was installed in OpenSSH format
SSH Tunnel
Beispiel: Drucker per SSH einrichten
Die Druckerverwaltung kann üblicherweise mit Cups im Browser erfolgen Einfach http://localhost:631 eingeben. Um einen Drucker von einem entfernten Rechner einzurichten verwendet man
ssh -L 8631:localhost:631 benutzer@hostname
Anschließend im Browser http://localhost:8631 eingeben und man kann die Drucker wie gewohnt verwalten.
ssh -L localport:zielrechner:ziel_port -l username rechner
Beispiel: Per SSH auf Rechner Bastion und von dort auf die Oracle-DB Port 1521. Lokal wird diese DB über localhost:5500 angesprochen
ssh -L 5500:db.foo:1521 -l username bastion.foo
Beispiel: E-Mail Port 993 ist von außen gesperrt, aber Port 1993 (offenen Port suchen/testen) nicht. Dann:
ssh -L 1993:imap.mydomain.de:993 -l proxyusername myproxy.de
Im Email Client gibt man nun localhost mit Port 1993 und SSL bzw TLS an. Fertig.
# tunnel auf in Hintergrund mit ssh tunnel-socket
ssh -M -S tunnel-socket -fnNT -L 22375:10.49.10.139:2375 -tt -o StrictHostKeyChecking=no -l jenkins 10.95.191.91
# check tunnel
ssh -S tunnel-socket -O check 10.49.10.139
# docker magie
export DOCKER_HOST=tcp://127.0.0.1:22375 docker ps
# close tunnel ssh -S tunnel-socket -O exit 10.49.10.139
SSH mit X11 Forwarding
Möchte man Programme mit grafischen Benutzeroberflächen, also Firefox oder Ähnliche, auf einem anderen Rechner ausführen und aber lokal die Fenster sehen, so geht dies mit
ssh -X
stellt eine SSH Verbindung zu server her und leitet alle X11 Verbindungen zum lokalen Rechner um. Wird auf dem Server nun in der SSH Sitzung Firefox gestartet, so erscheinen die Fenster im lokalen Windowmanager.
=== Verbindung von Rechner1 über Rechner2 zu Rechner3 ===B. xterm
Ein grafisches Programm z.B. xterm soll auf Rechner3 gestartet werden
ssh -t -X rechner2 ssh -t -X rechner3 xterm
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
Die Fehlermeldung erscheint, wenn sich der Fingerabdruck des Hosts geändert hat. Um nicht die komplett Known_hosts zu löschen, reicht es nur die Zeile zu entfernen.
The fingerprint for the ECDSA key sent by the remote host is SHA256:L2SRrxvks50rfijnP3IIOF6zLyU5o2v24hUPOjDX360. Please contact your system administrator. Add correct host key in /home/benutzer/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/benutzer/.ssh/known_hosts:96
sed -i '96d' ~/.ssh/known_hosts
No Comments