- in der .ssh/config können aliase usw. hinterlegt werden
- es kann mit Match Host ... ein Skript aufgerufen werden, was entscheidet, wie sich auf ein Host verbunden werden soll
- dadurch kann man sich lokal direkt verbinden und ansonsten über einen Jumphost
- mit ssh-keygen -t ed25519 können keys erstellt werden
- mit ssh-copy-id auf remote host kopieren
- mit remote port forward einen port auf öffentlich erreichbaren server öffnen
- verbindung dann über öffentlichen server herstellen
- yggdrasil als overlay netzwerk verwenden und host via ipv6 erreichen (auch hinter nat)
- yggdrasil erstellt wenn notwendig selber eine verbindung über einen jumphost
- vorteil: jumphost wird nur verwendet wenn notwendig
- mit -D socks proxy verbingung herstellen
- mit ~? Befehlen kann man die bestehende connection verändern
- zB mit ~C zusätzliche ports weiterleiten
- mit sshfs das dateisystem mounten
- auf dateien direkt zugreifen: vim scp://section77.de//home/user/.bashrc
- man kann zB tcpdumps auf ein lokales wireshark pipen
ssh root@remoteserver 'tcpdump -c 1000 -nn -w - not port 22' | wireshark -k -i -
¶ Run Command Remotely (non-interactive)
ssh remoteserver "cat /var/log/nginx/access.log" | grep badstuff.php
tar -cvj /datafolder | ssh remoteserver "tar -xj -C /datafolder"
ssh user@remoteserver "tar -jcf - /path/to/backup" > dir.tar.bz2
ssh -X remoteserver vmware
¶ Copy files remotely with rsync and SSH
rsync -az /home/testuser/data remoteserver:backup/
torsocks ssh myuntracableuser@remoteserver
vim scp://user@remoteserver//etc/hosts
sshfs user@remoteserver:/media/data ~/data
Host remoteserver
HostName remoteserver.example.org
ControlMaster auto
ControlPath ~/.ssh/control/%r@%h:%p
ControlPersist 10m
¶ Bouncing through jump hosts with ssh and -J
ssh -J host1,host2,host3 user@host4.internal
~C
yes | pv | ssh <remote_host> "cat >/dev/null"
- Der Klassiker: Putty
- Alternativen bzw. Erweiterungen