Wat is SSH?
Een protocol (en commando) dat de communicatie versleutelt om via een netwerk op een andere computer in te loggen en daar commando's uit te voeren. De server luistert standaard op TCP-poort 22. Voor authenticatie wordt naast wachtwoorden vaak authenticatie met een publieke sleutel gebruikt: de publieke sleutel die bij de eigen privésleutel hoort, wordt geregistreerd in ~/.ssh/authorized_keys op de server. Over dezelfde verbinding kunnen bestanden worden overgezet met scp of rsync, en kunnen poorten worden doorgestuurd.
Japanse benaming: SSH
“SSH” komt voor in 3 oefenvragen uit 2 onderwerpen, bijv. Basis van Linux en de opdrachtregel, Basis van computernetwerken.
Vakgebied: Basis van Linux en de opdrachtregel
De server controleren
Bij de eerste verbinding toont ssh de vingerafdruk van de hostsleutel van de server en legt die, als ze wordt geaccepteerd, vast in ~/.ssh/known_hosts. Als daarna een andere sleutel dan de vastgelegde wordt aangeboden, waarschuwt ssh en stopt het, zodat een server die zich voor een andere uitgeeft, kan worden opgemerkt. Als de waarschuwing verschijnt zonder reden, zoals een vervangen server, mag de verbinding niet worden voortgezet.
Veelgestelde vragen
Ik kan geen verbinding maken en „Permission denied (publickey)” wordt getoond. Wat moet ik controleren?
Controleer of de publieke sleutel die bij de gebruikte privésleutel hoort, in ~/.ssh/authorized_keys op de server is geregistreerd, en of de gebruikersnaam klopt. Als de rechten van ~/.ssh of authorized_keys op de server te ruim zijn (schrijfbaar voor anderen), wordt de sleutel om veiligheidsredenen mogelijk niet gebruikt; stel daarom bijvoorbeeld ~/.ssh in op 700 en authorized_keys op 600. Met ssh -v is te zien welke sleutels zijn geprobeerd.
Hoe kies ik tussen scp en rsync?
Beide kunnen bestanden via ssh overzetten. scp is geschikt voor eenvoudige kopieën, terwijl rsync alleen de verschillen met de bestemming verstuurt en daardoor efficiënt is om grote directory's herhaaldelijk te synchroniseren of onderbroken overdrachten te hervatten. Gebruikt als rsync -av --delete maakt het de bestemming gelijk aan de bron, maar --delete verwijdert bestanden die alleen op de bestemming bestaan, dus voorzichtigheid is nodig.